ようへい

2012年11月20日火曜日

ブラウザごとの閉じられたウィンドウオブジェクトの違い

window.openでウィンドウを開き、開いたウィンドウを閉じた場合、ブラウザによって閉じたウィンドウオブジェクトに対する処理が異なっていた。
リファレンス等に書かれていないようなので、メモ。
具体的には、以下のような処理を行った際の結果が異なる。
var wo = window.open("about:blank","hoge");

開いたウィンドウを閉じる
alert(typeof wo.name);

検証プログラム

以下で、実際の動きを確認できます。
ウィンドウチェックを行うと、テキストボックス内に、windowのステータスがdumpされます。

Internet Explorer 9の場合

閉じられたウィンドウのnameプロパティにアクセスしようとすると、エラーが発生する。
アクセスが拒否されました。
エラーnumberは-2147024891
閉じられたウィンドウオブジェクトのnameプロパティにはアクセスできないようだ。

Mozilla Firefox 17の場合

閉じられたウィンドウのnameプロパティの値はnullオブジェクトとなる。

Google Chrome 23の場合

閉じられたウィンドウのnameプロパティの値はstringオブジェクトとなる。
stringの値は""だった。

Opera 12の場合

閉じられたウィンドウのnameプロパティの値はstringオブジェクトとなる。
stringの値は""だった。
と、まぁ気にしない人にはどうでもいい情報でした。
関連記事

0 件のコメント:

コメントを投稿