我window.closed
在 Safari 中对 Javascript 的属性有一个奇怪的问题。当我打开一个新窗口并在该窗口中导航时,关闭的属性在关闭后将始终保持为 false。
这是 Safari 中的默认行为吗?我在 IE、Firefox 和 Chrome 中没有问题。
我的代码:
var winRef = window.open(someURL);
// ... Polling logic ...
// Navigate in the opened window and close it.
console.log(winRef.closed); // Will output false even though the window is closed.
似乎该winRef
变量在页面导航期间失去了对窗口的引用。
以下步骤将在 safari 中产生问题
- 使用位于此处的示例代码:http: //jsfiddle.net/CMK7h/9/并在 Safari 中打开
- 在打开的窗口中导航到不同的页面(不要使用谷歌搜索,因为这不会导致页面导航)
- 现在关闭打开的窗口
- 控制台仍应输出“打开”。