Javascript 防止在按下浏览器重新加载按钮时丢失变量
重新加载页面时是否可以保留我的(全局)变量?如果是,如何进行 谢谢你的帮助。Javascript 防止在按下浏览器重新加载按钮时丢失变量,javascript,global-variables,reload,Javascript,Global Variables,Reload,重新加载页面时是否可以保留我的(全局)变量?如果是,如何进行 谢谢你的帮助。 致以最良好的祝愿 浏览器离开页面时,JavaScript环境将被重置。但是,您可以注册一个onUnload处理程序,将数组序列化为cookie,然后在每次加载页面时检查该处理程序并取消序列化(如果存在)。您的浏览器是否有重置按钮,或者您指的是重新加载按钮 当页面加载时,所有内容都是新加载的。上一页没有留下任何内容。只有在cookie中才能存储加载页面后仍然存在的内容 请注意,每个站点可以放入cookie中的数据量限制为
致以最良好的祝愿 浏览器离开页面时,JavaScript环境将被重置。但是,您可以注册一个onUnload处理程序,将数组序列化为cookie,然后在每次加载页面时检查该处理程序并取消序列化(如果存在)。您的浏览器是否有重置按钮,或者您指的是重新加载按钮 当页面加载时,所有内容都是新加载的。上一页没有留下任何内容。只有在cookie中才能存储加载页面后仍然存在的内容
请注意,每个站点可以放入cookie中的数据量限制为几千字节。确切的限制因浏览器而异,但您不能期望在Cookie中放入超过1 KB或2 KB的数据。您可以通过类似于
window.localStorage
、window.sessionStorage
(专用Mozilla扩展)或数据库抽象的方式跨页面重新加载来持久化数据(window.openDatabase
)由一些基于WebKit的浏览器提供。有关存储接口及其数据库简介的详细概述,请参阅。您是在谈论Cookies吗?如果是这样,您可能想回顾一下
这将很容易让你存储cookies,即数据,甚至在浏览器重新加载点击后。这使它非常容易,这就是我所使用的
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正常工作。使用相同的样式,您可以在哈希键中存储字符串值 使用属性:
window.location.hash='flight/105';
然后在刷新页面时,初始化回变量。试试这个
它基本上将您的数据存储在
窗口中。name
属性在您重新加载页面或转到另一个站点时不会清除该值。很抱歉,我说的太多了,但您的术语似乎不标准。对于“全局数组变量”,有什么可以防止的此外,什么是浏览器重置按钮?您是否有一些代码来说明您所指的内容?对不起…您是对的,我的意思是“防止初始化值或重置”.换句话说,我想保护我的全局值并在下次操作中使用它。谢谢。致以最良好的问候。很抱歉我的英语不好。我希望现在一切都清楚了。嗨,亚当,当按下浏览器重置按钮时发生了什么事?我尝试在不使用cookie的情况下解决此问题。是的,重新加载按钮…感谢太多的Guffa…致以最良好的问候。谢谢太多的Kangax…非常有趣。哪些浏览器是基于Webkit的?ABrowse,Android网络浏览器,Arora,Google Chrome,Epiphany,iCab,Iris浏览器,Midori,OmniWeb,rekonq,Safari,Shiira,Skipstone,MorphOS的Sputnik,SRWare Iron,不锈钢,Sunrise,TeaShark,S60的网络浏览器,WebOS:)(见)我喜欢这个。然而,我想知道它是否符合正确的软件设计,还是会被归类为黑客?