<script type="text/javascript>
var x = 0; //this occurs in the beginning of the page.
$("#button").onclick{
x = 1;
}
</script>
假设变量"x"的值从0变为了1。然后用户点击了一个链接。当用户点击"返回"按钮时,x的值是0还是1?
<script type="text/javascript>
var x = 0; //this occurs in the beginning of the page.
$("#button").onclick{
x = 1;
}
</script>
假设变量"x"的值从0变为了1。然后用户点击了一个链接。当用户点击"返回"按钮时,x的值是0还是1?
正如 另一篇问题中详细说明的那样,这个问题的答案取决于浏览器。
在 Firefox 和 Opera 中,如果单击 Set x,然后单击链接并按下返回按钮,下面的页面将保留 1
的状态。但是,在 Chrome 和 IE6 中,页面将重新加载,x
将具有值 0
。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<input type="button" id="button" value="Set x">
<input type="button" id="check-x" value="Check x">
<a href="http://www.stackoverflow.com">Click Me</a>
<script>
var x = 0;
$("#button").click(function(){
x = 1;
});
$("#check-x").click(function(){
alert(x);
});
</script>
这并不适用于像Firefox这样的浏览器。请参见Trey的答案。
它将是0
。浏览器不会在页面加载之间缓存Javascript变量的状态。