ようへい
ラベル Internet Explorer の投稿を表示しています。 すべての投稿を表示
ラベル Internet Explorer の投稿を表示しています。 すべての投稿を表示

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の値は""だった。
と、まぁ気にしない人にはどうでもいい情報でした。
関連記事

2012年8月1日水曜日

IE8ではIE7互換モード、IE9は標準でレンダリングさせる方法

私は Internet Explorer が嫌いだ。
IE9になっても、まともにサポートされないHTML5。
という事で、このサイトはIEでの動作確認をあまり行っていない。
また、これまで、以下のMETAタグをヘッダに挿入し、強制的にIE7互換モードでレンダリングするようにしてきた。
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/>
これが無いと、IE8でまともに表示されない。
IE9まではこれで良かった。
IE9になり、CSSのサポートがマシになってきたので、IE8はIE7互換モード、IE9は標準でレンダリングさせたいと思い、調べていると以下のブログを見つけた。
Bloggerのカスタマイズでお馴染み、クリボウさんのブログ。
Internet Explorer でレイアウトが崩れる Blogger テンプレートは、IE 7 互換モードのタグを削除してみるといいかも | クリボウの Blogger Tips
http://www.kuribo.info/2012/07/blogger-ie7-compatibility-tag.html
IE9のブラウザーモードとドキュメントモード - hachy.net
http://www.hachy.net/2010/08/ie9.html 複数指定できるなんて知らなかった。
という事で、METAタグを以下のように書き換えてみた。
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7; IE=EmulateIE9"/>
これで、IE8はIE7互換モード、IE9は標準でレンダリングされるハズ。
関連記事