我有一个静态变量的问题。如果页面刷新,则变量的最后一个值将丢失。这是代码:Javascript变量丢失值
var ok;
alert(ok);
if(ok==1) {
$('tr:has(td:contains("Blue"))').hide()
}
$('tr:has(td:contains("Blue"))').delay(10000).hide(0)
ok=1;
alert(ok);
我有一个静态变量的问题。如果页面刷新,则变量的最后一个值将丢失。这是代码:Javascript变量丢失值
var ok;
alert(ok);
if(ok==1) {
$('tr:has(td:contains("Blue"))').hide()
}
$('tr:has(td:contains("Blue"))').delay(10000).hide(0)
ok=1;
alert(ok);
如果页面被刷新,该变量的最后一个值都将丢失。
当页面被刷新,存储在窗口的会话的所有值都将丢失,并创建一个新的sesssion。
除非将值存储在浏览器的存储器中,否则不会保留它们。
刷新页面时,所有存储的值都会丢失,认为它可能保留变量值。这可以通过window.localStorage
(或window.sessionStorage
)来实现。这个区别在MDN的DOM存储指南中解释(链接在下面)。
当你需要设定将要在接下来的网页中反映出来的变量,使用:
var someVarName = "value";
localStorage.setItem("someVarName", someVarName);
,在任何页面(当页面加载等),把它想:
var someVarName = localStorage.getItem("someVarName");
.getItem()
将返回空值或存储的值。
请注意,只有字符串值可以存储在此存储中,但可以通过使用JSON.stringify
和JSON.parse
来解决。从技术上讲,每当你打电话.setItem()
,它会打电话.toString()
的价值和存储。
如果localStorage
不可用,MDN的DOM存储指南(链接如下)有解决方法/ polyfill,最终回落到像cookies这样的东西。
使用现有的或创建您自己的迷你库并不是一个坏主意,它可以抽象保存任何数据类型(如对象文字,数组等)的功能。
检查http://stackoverflow.com/questions/16206322/how-to-get-js-variable -to-保留价值-后页面刷新 –
你是在开玩笑吧? –
你期望什么? – C2486
你知道javascript是如何工作的吗?你为什么认为这会拯救你所做的一切?你知道电脑如何工作吗?为什么你认为重新启动计算机会修复很多问题? (*提示;因为它知道的所有内容,除了**特别记住的**被遗忘,就像javascript *) – h2ooooooo