5

我在使用该window.name属性的 Google Chrome 中看到了一种奇怪的行为。

例如:

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

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

  3. 现在在同一个选项卡中,转到http://chase.com

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

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

这是 Google Chrome 的已知问题吗?它在 FireFox 中对我有用。

有人对这种行为有任何见解吗?

谢谢!


更新:

如果我没有输入新的 URL,而是输入window.location="http://chase.com",那么window.name仍然存在!

4

2 回答 2

2

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

于 2013-02-28T19:55:37.737 回答
-2

Chrome 可能会根据站点启动新进程。

我认为 Chrome 的功能完全可以接受。

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

于 2013-02-28T19:50:53.000 回答