javascriptで親ウィンドウからwindow.open()等で子ウィンドウを起動し、その子windowオブジェクトを親ウィンドウ内のjavascriptで管理するプログラムを作っていたのですが、親ウィンドウ側で子ウィンドウが開いているかどうかを確認する必要がありました。

通常、window.closedプロパティの値でウィンドウが閉じてるかどうかわかります。

  • window.closed = true (ウィンドウが閉じてる)
  • window.closed = false (ウィンドウが開いてる)

PC上のChromeブラウザやiOSの標準ブラウザであるSafariでは上記のように動いています。

しかし!Android3およびAndroid4の標準ブラウザでは以下のようになります。

  • window.closed = undefined (ウィンドウが閉じてる)
  • window.closed = false (ウィンドウが開いてる)

なんでやねん!!

  • Share/Bookmark

Leave a Reply