4

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ページのナビゲーション中に変数がウィンドウへの参照を失ったようです。

次の手順では、サファリで問題が発生します

  1. http://jsfiddle.net/CMK7h/9/にあるサンプル コードを使用して、Safari で開きます。
  2. 開いたウィンドウで別のページに移動します (Google 検索は使用しないでください。これによりページが移動することはありません)。
  3. 開いているウィンドウを閉じます
  4. コンソールはまだ「Open」を出力しているはずです。
4

1 に答える 1

0

そのウィンドウがまだ開いている限り、closed プロパティは false である必要があります。

正しく動作する例を次に示します。アラートは、閉じている場合は true を表示し、まだ開いている場合は false を表示します。

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

于 2012-06-20T22:08:43.980 に答える