IE7でページが開けないバグの対処方

以前よりIE7でCashbookが開けないという報告をいただいていたので、原因を調べてみたところ、ブラウザのバグであることがわかりました。

同じ現象で悩んでいる方がいるかもしれないので、対処法をまとめておきます。

Media_httpexdesignjpw_igaig
サイトにアクセスすると同時にこのようなエラー メッセージが表示される。

マイクロソフト社のサポートページには、

この問題は、子コンテナーの HTML 要素のスクリプト、子コンテナーの親コンテナー要素を変更しようとしているを格納するために発生します。 スクリプトは、 innerHTML メソッドまたは、 appendChild メソッドのいずれかを使用して、親コンテナー要素を変更しようとしました。たとえば、 DIV 要素の BODY 要素に子コンテナーを DIV 要素の SCRIPT ブロック DIV 要素の親コンテナーが BODY 要素を変更しようとする場合、この問題が発生する可能性があります。

とあります。真面目に読めば読むほど、理解できなくなったのですが、試行錯誤し次のように対処しました。

 

1. innerHTML メソッドを使っている箇所を特定する

Cashbookの場合、右カラムの「News & Info」のところで利用しているTwitterウィジェットで使っていました。

 

2. scriptタグをbody要素の子になっているdivから出す

<body>
<div id="wrapper">
•••
<ul id="twitter_update_list"></ul>
<script type="text/javascript" src="http://twitter.com/favorites/Cashbook.json?callback=twitterCallback2&count=1"></script>
•••
</div>
</body>

上のものを以下のように変更。

<body>
<div id="wrapper">
•••
<ul id="twitter_update_list"></ul>
•••
</div>
<script type="text/javascript" src="http://twitter.com/favorites/Cashbook.json?callback=twitterCallback2&count=1"></script>
</body>

以上で無事解決することができました。

 

参考記事

IE7でブログが開けないバグを修正しました

Comments (0)

Add a Comment