重新加载页面时是否可以保留我的(全局)变量?如果是,怎么样?
感谢您的帮助。 最好的祝福。
答案 0 :(得分:9)
试试这个cookie-less javascript function。
它基本上将您的数据存储在window.name
属性中,当您重新加载页面或转到另一个站点时,该属性不会清除该值。
答案 1 :(得分:4)
您可以通过某些基于WebKit的浏览器提供的window.localStorage
,window.sessionStorage
(专有Mozilla扩展)或数据库抽象(window.openDatabase
)等内容来跨页面重新加载来保存数据。有关存储接口和this article on MDC的详细信息,请参阅this WebKit article。
答案 2 :(得分:3)
在相同的样式中,您可以在散列键中存储字符串值。
使用属性:
window.location.hash = 'flight/105';
然后在刷新页面时,您会初始化变量。
答案 3 :(得分:2)
当浏览器离开您的页面时,JavaScript环境将被重置。但是,您可以注册一个onUnload处理程序以将数组序列化为cookie,然后在每次加载页面时检查它,如果存在则将其取消序列化。
答案 4 :(得分:1)
您的浏览器是否有重置按钮,或者您的意思是重新加载按钮?
当页面加载时,所有内容都是新加载的。任何上一页都没有任何内容。存放任何能够在加载页面时存活的东西的唯一地方是cookie。
请注意,您可以放入Cookie中的数据量限制为每个站点几千字节。确切的限制因浏览器而异,但您不能期望能够在cookie中放入超过千字节或两个数据的数据。
答案 5 :(得分:0)
你在谈论Cookies吗?如果是这样,您可能需要查看this open-source module
即使在浏览器重新加载点击后,这也可以轻松地存储Cookie,即数据。这使得它非常简单,而且是我使用的。
var cookie = new HTTP.Cookies();
cookie.write('mydata', 'myvalue', '+1y');
//later on you can get that data EVEN AFTER a reload
var x = cookie.read('mydata');
您可能不应该尝试从头开始实施Cookie,因为它非常痛苦,您必须在Web浏览器上进行大量测试,例如确保Internet Explorer正常运行。