【发布时间】:2015-05-11 06:48:58
【问题描述】:
假设页面 url /xyz。我在我的 JS 的顶部声明了 window 对象(因为我需要它),比如
window.myObject={
someWork:true
}
我正在更改属性值,例如
if(window.myObject.someWork){
//Do Work
window.myObject.someWork=false
}
当我从其他页面(abc->xyz)单击返回按钮时,我的window.myObject.someWork 保持为假,而不是在顶部再次重新初始化(因为我认为刷新将再次运行脚本)。您能否建议周围发生了什么以及如何解决这个问题。
通过这个Does back/forward in the browser change javascript variables?。有什么解决办法吗?我正在使用 Chrome 并希望使其适用于所有浏览器
固定: Xufox 解决方案很好并且有效。它还在后退按钮上缓存 DOM 元素。所以请确保它没有搞砸代码:)
提前致谢
【问题讨论】:
-
它对我来说很好,使用 Firefox 37。请添加更多细节或尝试在 JSFiddle 中重现它。
-
它对我来说也很好用,jsfiddle.net/r8nfvn8u/5。顺便说一句,你可以直接做 myObject 而不是 window.myObject 因为如果你不声明它默认被视为窗口对象
-
我不这么认为。您可能还有一些未向我们展示的代码,或者您的第二个代码在第一个代码之后立即执行
-
好的。刷新时工作正常,但后退按钮出现问题。更新问题。创建小提琴所以请给我一些 itme
-
后退按钮通常会获取网站的缓存状态...
标签: javascript