IE7で画面が真っ白になる場合の対処

IE7を使っていると、結構まっちろになるページがあるですよ。リロードすると直るのでなおのことうっとーしー。対処法は以下のページに。

IE7 で画面が真っ白になるページの対処方法 :: Drk7jp

IE7でページが表示されない件について :: とあるWEBクリエイターのblog

Yahoo!の「京」の話を見たときは、「懐かしい!」と叫んで(心の中で)しまいました。ブラウザにEUC-JPを認識させるために、HTMLの最初のほうに入れとく。私が大学生のころから言われてますから、もう8年くらい前に見た話です。今もあるのは知っていましたが、さすがに今のブラウザはそこまでバカじゃないだろうと…。

実は、私が携わっているサイトでもまっちろ現象が散見されまして、なぜなぜと無い頭をひねっていたところでした。んで、上のサイトを見て「おおっ!」っと。でもそのサイト、SJISなんです。SJISで出るのはレアなのかー。

んで、そのサイトの特徴として、こんなおバカなHTMLを組んでいたのです。

<!--
いきなりJavaScript〜
-->
<html>
<head>
・・・・

これで、JavaScript読む途中で表示が終わっていたことだけわかっていました。んで、JavaScriptをheadの中に入れれば、まっちろにはならないこともわかっていました。でも画面がたくさんあるので、そんなん面倒でやりたくない。そこで、「もしやSJISだけど、文字コードを認識できてなかったのでは?」と考え、

<!--IE7のばか〜-->
<!--
いきなりJavaScript〜
-->
<html>
<head>
・・・・

と最初に適当な日本語を入れてみたところ、まっちろ回避。*1他のサイトでもSJISなのに白くなる画面はあるので、少し参考になるかもしれません。なお100%回避かどうかは保障いたしかねます。一応、一例として参考にどうぞ。

しかし、変なHTML組んでるのが悪いのはわかるんですけど、IE6で表示できてるのにIE7で表示できてないというのは、IE7のバグなんじゃない?と思うのが正直なところ。プラグイン使ってるとすぐ落ちるし、いい加減にして欲しいところです。。ちなみに、VistaIE7では白くなりません。なので、やっぱりXP版のバグでしょう。*2

*1:2007/01/28追記 これは、2バイト文字を入れたから改善したとは言い切れないかもしれません。HTMLを1バイトずらしただけでも直る例も見つかりました。あくまで一例としてご覧ください。

*2:2007/01/28 修正。VistaIE7でも白くなりました。