Subscribe Twitter

2011年5月22日日曜日

このエントリーをはてなブックマークに追加

◉Internet Explorer(IE)で、webページを開くと画面が白いままになって何も表示されない問題の検証とまとめ

かなり以前からこの問題が指摘されている。私自身もこのグログの支援サイトで一部のページが白いままになって見れないと苦情をいただき、前にこのブログでも書いたが、一応対処して、指摘されることはなくなったものの、はたしてうまくいっているのかどうかは不明。

最近になって、私が作成したページではないが、また同じ問題を私の周辺でよく耳にするようになったので、検証して見ることにした。

検証用に以下のようにダミーのページを作成
shift_jisとutf-8の文字コード宣言を、日本語(マルチバイト文字セット)を使用したtitleタグの前に記述したhtmlをそれぞれ1点ずつ。shift_jisとutf-8のcharset宣言を同じく日本語を使用したtitleタグの後に記述したhtmlをそれぞれ1点ずつ。utf-8のcharset宣言を半角英数字のみのtitleタグの後に記述したhtmlを1点。いずれも簡単なダミーのjavascriptを記述してある。この計5点のhtmlをIEの各バージョンとその他のブラウザで開いた時にどうなるか試してみた。
(各ページは、このブログの支援サイトに置いた)
  1. charset=shift_jisを日本語を使ったtitleタグの前に記述
  2. charset=shift_jisを日本語を使ったtitleタグの後に記述
  3. charset=utf-8を日本語を使ったtitleタグの前に記述 
  4. charset=utf-8を日本語を使ったtitleタグの後に記述
  5. charset=utf-8を半角英数字のみのtitleタグの後に記述 

テストの結果は以下のとおり。

Windows XP Home SP3 
IE7
4.で問題発生。画面が真っ白に。エンコードをみるとshift_jisと認識している。

IE6(IETester)
4.で問題発生。画面が真っ白に。エンコードをみるとshift_jisと認識している。

IE8(IETester)
4.で問題発生。画面が真っ白に。エンコード確認できず。

Firefox3.6.3
問題発生せず。

Google Chrome11.0.696.68
問題発生せず。

Safari5.0.2
問題発生せず。

Sleipnir2.9.7 (ブラウザエンジン:Trident)
4.で問題発生。画面が真っ白に。エンコードをみるとshift_jisと認識している。

Windows Vista Home SP2 
IE8
問題発生せず。

IE6(IETester)
問題発生せず。

IE7(IETester)
問題発生せず。

Firefox4.0.1
問題発生せず。

Google Chrome11.0.696.65
問題発生せず。

Safri5.0.5
問題発生せず。

Sleipnir2.9.7 (ブラウザエンジン:Trident)
問題発生せず。

Windows 7 Pro
IE9
Windows 7 XPモード IE6で問題が発生した画面
問題発生せず。

Firefox 4.0.1
問題発生せず。

Google Chrome11.0.696.68
1.と2.のページを英語のページと判断、「翻訳しますか?」が出る。
表示の問題は発生せず。

Safri5.0.5
問題発生せず。

Windows 7 Pro XPモード(XP SP3)
IE6
4.で問題発生。画面が真っ白に。エンコードをみるとshift_jisと認識している。

結論めいたもの
今回問題が確認されたのは、XPのIE7、XPのIE6(IETester)、XPのIE8(IETester)、XPのSleipnir2.9.7 それと7のXPモードIE6。いずれのケースも日本語(マルチバイト文字セット)を使用したtitleタグをutf-8のcharset宣言の前に記述したhtmlが真っ白で何も表示されないものだった。

想定していたVistaのIE8では問題は発生しなかった。前回(3ヶ月程前)の問題確認は、VistaのIE8が発端だったが、マイナーアップデートで修正されたのか、htmlの内容に差異があるのかは不明。

真っ白で何も表示されないページを避けるためには
  • 使用する文字コード(charset宣言するコード)がutf-8の場合は、日本語を使用したtitleタグを必ずcharset宣言の後に記述する。
  • titleタグをcharset宣言の前に記述する必要がある場合は、titleを半角英数字のみにする。
とりあえずこれだけ守れば、問題発生はかなり低減できるはず。くり返しになるが、私の場合は、今のところ、この問題で指摘されることはなくなった。

Related Post:


0 コメント: