我有一个脚本
<script>
var pn=0;
function set()
{
pn=parseInt(pn)+1;
}
</script>
首次执行set
后,pn
将为1。
重新加载页面后,pn
保留其值1
,以便在下次执行set
时,它会增加到2
。
如何在页面重新加载中保留全局变量?
答案 0 :(得分:3)
答案 1 :(得分:2)
简而言之,你不能。没有办法在页面重新加载时保留客户端变量。
我建议使用
jQuery cookie plugin(cookies)
或者如果您的浏览器支持HTML5:
HTML5 web storage(本地/会话存储)
答案 2 :(得分:1)
你应该使用cookies,这是一个如何实现它的例子:
var pn = 0;
function increment() {
pn = parseInt(pn, 10) + 1;
setCookie('pn', pn, 200);
console.log(pn);
}
function setCookie(c_name,value,exdays) {
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}
function getCookie(c_name) {
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++) {
x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
x=x.replace(/^\s+|\s+$/g,"");
if (x==c_name) {
return unescape(y);
}
}
}
(function () {
pn = getCookie('pn') || 0;
}());
以下是一个示例:http://jsbin.com/ucitul/3
答案 3 :(得分:0)
您应该将您的值存储在cookie,查询字符串或hashfragment中,然后在页面加载时获取值。
答案 4 :(得分:0)
我建议使用jquery cookie plugin。这很简单,可以解决你的问题