在几个浏览会话中保存javascript变量
Save javascript variable throughout several browsing sessions?
我的问题可能很简单,但我只是不知道如何做到这一点。我想在几个浏览会话和页面重新加载期间保存"bgid"。我想过使用cookie,但我不知道如何暗示它们。这是我的代码(顺便说一句,我使用的是jQuery):
<script>
var bgid = 2;
var bgnumber = 3;
$('#changebg').click(function() {
$('body').removeClass();
$('body').addClass('class' + bgid);
if(bgid < bgnumber + 1) {
bgid = bgid + 1;
} else {
bgid = 2;
}
});
</script>;
你们能帮我吗?谢谢!:)
使用本地存储:
var bgid = !localStorage.getItem('bgid')? 2 : parseInt(localStorage.getItem('bgid'));
bgid += 1;
localStorage.setItem('bgid', bgid);
您可以为此目的使用localStorage。只需做一些类似的事情
var bgid = window.localStorage.bgid;
您唯一需要记住的是,您检索的数据将是一个字符串。
示例:
if (window.localStorage.bgid !=== undefined) // check whether the data already exists
window.localStorage.bgid = 2; // if not, we set the 2 as default value
然后您可以使用window.localStorage.bgid访问bgid。如果您想获得一个数字,请使用parseInt或在窗口前添加"+"。
如果你想保存数据,只需键入
window.localStorage.bgid = newValue;
我建议您使用localStorage
<script>
if (localStorage.getItem("bgid"))
{
var bgid = parseInt(localStorage.getItem("bgid"));
}
else
{
var bgid = 2;
}
var bgnumber = 3;
$('#changebg').click(function () {
$('body').removeClass();
$('body').addClass('class' + bgid);
if (bgid < bgnumber + 1)
{
bgid = bgid + 1;
}
else
{
bgid = 2;
}
localStorage.setItem("bgid", bgid);
});
</script>
如果我是你,我不会使用cookie,但大多数浏览器都实现本地存储
例如:
<script>
var bgid = 2;
if(localStorage.getItem("bgid") != null){// this checks bgid exists
bgid = localStorage.getItem("bgid");//and this sets bgid to the localstorage value
}
var bgnumber = 3;
$('#changebg').click(function() {
$('body').removeClass();
$('body').addClass('class' + bgid);
if(bgid < bgnumber + 1){
bgid = bgid + 1;
}
else{
bgid = 2;
}
localStorage.setItem("bgid");// this sets the value
});
</script>;
这应该对您有效,但以上答案应该足够
相关文章:
- Javascript 会话存储变量未正确保存
- 在几个浏览会话中保存javascript变量
- 需要将一个值从javascript变量保存到php会话
- 在浏览器会话中保存表单数据
- 王牌编辑器 - 通过开机自检在服务器上保存/发送会话
- 会话存储未保存或未加载
- 仅在某些请求上保存用户会话
- 使用 $.ajax({});时未保存快速会话;
- PHP 会话不通过多个页面保存变量
- 在脸书登录时保存会话
- “保存”OpenLayers会话,以便可以恢复它
- 余烬简单身份验证在会话中保存用户配置文件
- 角度将变量保存到带有 ajax 调用的 laravel 会话不起作用
- 会话存储以保存下拉列表值
- 为什么将空文本框值保存到会话存储会导致 IE8 崩溃
- 提交表单并将值保存到会话存储
- 在标头之前保存会话存储的最佳方法
- Node & Express + jQuery:在对会话保存进行身份验证后
- 如何在Parse.com中将数据保存到用户会话
- 跨会话保存数据- php