我在谷歌浏览器中看到一种奇怪的行为,使用window.name
属性。
例如:
打开标签页并转到http://google.com。
打开控制台,然后输入window.name="hello"
。
现在在相同的标签中,转到http://chase.com。
在控制台中,键入window.name
。
我希望看到"hello"
返回,但我看到""
。
这是Google Chrome的已知问题吗?它适用于FireFox。
任何人都对此行为有任何见解?
谢谢!
如果我输入window.location="http://chase.com"
而不是输入新网址,那么window.name
仍然存在!
答案 0 :(得分:2)
window
是每个文档的全局对象,而不是浏览器窗口的全局对象。例如,在包含iframe的页面中,每个iframe都会有一个window
。每次加载文档时,都会创建一个新的全局对象并为上下文填充。卸载文档时,全局对象及其所有数据都将被销毁。
答案 1 :(得分:-1)
Chrome可能会根据网站启动新流程。
我会称Chrome完全可以接受。
你真的不应该依赖任何全局变量来持久化。我会考虑使用会话或本地存储。