4
我在Safari中使用Javascript的window.closed
屬性有一個奇怪的問題。 當我打開一個新窗口並在該窗口中導航時,關閉後的屬性將始終保持爲假。window.closed在Safari中失敗
這是在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中打開
- 導航在打開的窗口到不同的頁面(不要使用谷歌搜索,因爲這不會導致頁面導航)
- 現在關閉打開的窗口
- 控制檯仍應輸出'打開'。
我遇到的問題是,當我在窗口中打開一個新的窗口,然後導航Chrome和Safari失去其參考該窗口,它會導致關閉保持關閉後假。 –
如果您所做的只是在該窗口中進行導航,那麼它在技術上仍然是開放的,並且由於它是開放的,因此該值將保持爲假。我在FF和Chrome中都嘗試了這一點,獲得了相同的結果。如果它是打開的,即使在瀏覽之後,它仍然返回false,因爲窗口仍然打開。 – bjo
以下代碼示例將在打開的窗口中導航並關閉它(使用Safari)時始終返回false:http://jsfiddle.net/CMK7h/9/ –