window.name在Google Chrome中不会持续存在

时间:2013-02-28 19:48:57

标签: javascript google-chrome

我在谷歌浏览器中看到一种奇怪的行为,使用window.name属性。

例如:

  1. 打开标签页并转到http://google.com

  2. 打开控制台,然后输入window.name="hello"

  3. 现在在相同的标签中,转到http://chase.com

  4. 在控制台中,键入window.name

  5. 我希望看到"hello"返回,但我看到""

    这是Google Chrome的已知问题吗?它适用于FireFox。

    任何人都对此行为有任何见解?

    谢谢!


    更新:

    如果我输入window.location="http://chase.com"而不是输入新网址,那么window.name仍然存在!

2 个答案:

答案 0 :(得分:2)

window是每个文档的全局对象,而不是浏览器窗口的全局对象。例如,在包含iframe的页面中,每个iframe都会有一个window。每次加载文档时,都会创建一个新的全局对象并为上下文填充。卸载文档时,全局对象及其所有数据都将被销毁。

答案 1 :(得分:-1)

Chrome可能会根据网站启动新流程。

我会称Chrome完全可以接受。

你真的不应该依赖任何全局变量来持久化。我会考虑使用会话或本地存储。