IE7でページが開けないバグの対処方
以前よりIE7でCashbookが開けないという報告をいただいていたので、原因を調べてみたところ、ブラウザのバグであることがわかりました。同じ現象で悩んでいる方がいるかもしれないので、対処法をまとめておきます。

サイトにアクセスすると同時にこのようなエラー メッセージが表示される。
マイクロソフト社のサポートページには、
この問題は、子コンテナーの 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でブログが開けないバグを修正しました


No comments
comments rss | trackback uri