Javascript window.closed在Safari中失败

Javascript window.closed在Safari中失败,javascript,google-chrome,safari,Javascript,Google Chrome,Safari,我对Safari中Javascript的window.closed属性有一个奇怪的问题。 当我打开一个新窗口并在该窗口中导航时,closed属性在关闭后将始终保持false 这是Safari中的默认行为吗?我在IE、Firefox和Chrome方面没有问题 我的代码: var winRef = window.open(someURL); // ... Polling logic ... // Navigate in the opened window and close it. console.

我对Safari中Javascript的
window.closed
属性有一个奇怪的问题。 当我打开一个新窗口并在该窗口中导航时,closed属性在关闭后将始终保持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中产生问题

  • 使用下面的示例代码:并在Safari中打开
  • 在打开的窗口中导航到其他页面(不要使用谷歌搜索,因为这不会导致页面导航)
  • 现在关闭打开的窗口
  • 控制台仍应输出“打开”

  • 只要窗口仍然打开,closed属性就应该为false

    下面是一个正确工作的示例。如果警报已关闭,则警报将显示true;如果警报仍处于打开状态,则警报将显示false


    我遇到的问题是,当我打开一个新窗口并在该窗口中导航时,chrome和safari会松开对该窗口的引用,这会导致关闭后关闭的窗口保持为假。如果您所做的只是在该窗口中导航,那么从技术上讲它仍然打开,并且该值将保持为假,因为它是打开的。我在FF和Chrome上都试过了,得到了相同的结果。如果它是打开的,即使在导航之后,也会返回false,因为窗口仍然打开。以下代码示例在打开的窗口中导航并关闭它时(使用Safari):这两个小提琴对我来说都正常工作。如果我在打开的窗口中导航,然后关闭它,下一个控制台日志显示“关闭”。您使用的是哪个Safari版本(我的版本是5.1.7[7534.57.2])?