window.closed在Safari中失败

时间:2012-06-20 21:49:33

标签: javascript google-chrome safari

我在Safari中使用Javascript的window.closed属性时遇到了一个奇怪的问题。 当我打开一个新窗口并在该窗口中导航时,关闭的属性在关闭后将始终保持为假。

这是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中产生问题

  1. 使用此处的示例代码:http://jsfiddle.net/CMK7h/9/并在Safari中打开
  2. 在打开的窗口中导航到其他页面(不要使用谷歌搜索,因为这不会导致页面导航)
  3. 现在关闭打开的窗口
  4. 控制台仍应输出“打开”。

1 个答案:

答案 0 :(得分:0)

只要该窗口仍处于打开状态,封闭属性应为false。

以下是它正常工作的示例。如果警报已关闭,则警告将显示为true;如果警报仍然打开,则显示为false。

http://jsfiddle.net/QHXcG/2/