我有以下代码
<html>
<head>
<script>
var m=0;
function add() {
m++;
}
</script>
</head>
<body>
<button onclick="add();">click</button>
</body>
</html>
但是,如果我刷新页面,那么m
的值将从0开始。如何在客户端计算机上的每个页面加载之间保留m
的值?
答案 0 :(得分:3)
一种方法是cookie
document.cookie = 'foo,bar'
另一种方法是使用localstorage
localStorage.setItem('foo', 'bar');
localStorage.getItem('foo'); // return 'bar'
答案 1 :(得分:2)
您可以使用javascript中的Cookie。检查此链接。
http://www.w3schools.com/js/js_cookies.asp
这是工作代码示例:
<html>
<head>
<script>
var m=getCookie("m");
if(isNaN(m)) {
m=0;
}
function add()
{
m++;
alert(m);
setCookie("m",m,86400);
}
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);
}
}
}
</script>
<body>
<button onclick="add();">click</button>
</body>
</html>
答案 2 :(得分:1)
实际上,这就是js在浏览器上的意思,不要与它对抗,与之共存。如果要在浏览器中存储变量,请使用cookie或本地存储(html5)。
答案 3 :(得分:1)
您可能必须使用:
答案 4 :(得分:0)
你做不到。页面中的DOM和所有JS变量都会在刷新时重新创建。如果您想要保留它,可以使用cookies或localstorage来保留它。
答案 5 :(得分:0)
刷新页面再次加载javascript函数是正常的 - 使用会话或cookie来存储这样的变量。