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>
以上で無事解決することができました。
参考記事


Comments (0)
Add a Comment