FC2ブログでIE6だけに出る「webページに問題があるため...」というエラーの原因はtwitterだった!
2011.03.01 (Tue) : ウェブとパソコン
ご注意:この記事はウェブマスター向けで、専門的過ぎる記事なので、一般の方には意味がわからない可能性があります。
ここ1週間ほどIE6(Internet Explorer 6)にだけ起こる不可解なエラーに悩まされていた。その不可解なエラーは、IE8、Firefox、Chrome、Safariでは、でないエラーだった。ちなみにIE7はチェックしていない。
「うぇぶかにほん公式ブログ日本Web化計画」では、IE6をサポート対象から外したというアナウンスをしていますが、まだ使っている人が多いのも事実なのでIE6のブラウザチェックもしている。本音を言えば、このやっかい極まりないIE6がこの世界からなくなってしまえば・・・と思いますが・・・
上の画像がそのエラーで、「Webページに問題があるため、正しく表示または機能しなくなる可能性があります。今後、ステータスバーに表示された警告アイコンをダブルクリックすると、このメッセージを表示できます。」という警告ダイアログが何度も連続して出る。
詳細には、以下のメッセージが・・・
ライン:2
文字:3581
エラー:"}"がありません。
コード:0
URL:http://webkacoco.blog84.fc2.com/
次に[ツール][インターネットオプション][詳細設定]のブラウズ[スクリプトのデバッグを使用しない(Internet Explorer)]のチェックを外して、再度IE6で見ると以下のエラー表示が・・・
ランタイムエラーが発生しました。デバッグしますか?
行:1
エラー:"}"がありません。
さらにブログタイトル下の「about」~「Search」切り替えタブボタンが機能しない。
「切り替えタブボタンのJavaScriptの構文エラーかな? "}" どっか抜けてるのかな?」と思い、JSファイルを調べてみたが、何度見直しても間違いはみつからない。
「うーんおかしい、まさかIE6お得意のバグか!?」
嫌な予感がしたので、同じオリジナルテンプレートを使っている「なか散歩」「日本Web化計画」をIE6で確認してみた。すると、なか散歩では同じエラーが出たが、日本Web化計画ではなぜかエラーが出なかった。
「文字コードか?」
この3つのブログに、決定的な違いがあることを思い出した。「ピースフルパラダイスライフ」と「なか散歩」の文字コードは「euc-jp」、しかし、同じFC2ブログである「日本Web化計画」は、なぜか「UTF-8」なのだ。そして、切り替えスイッチに使っているJSファイルは、UTF-8(正確にはUTF-8N)を指定して保存している。
そう、euc-jpのブログにUTF-8で保存されたJSファイルを読み込んでいたのが原因だった。だから2つのブログだけは、JSファイルが文字化けしてしまいエラーになったのだ。非常に初歩的なミスである。しかし、IE8では問題なく機能しているので、まったく気がつかなかった。さっそく以下のように[charset="UTF-8"]を追加した。こうする事でIE6にだけ起こる文字コードの違いによる不具合を改善できる。
<script type="text/javascript" src="http://ほにゃらら/切り替え.js" charset="UTF-8"></script>
「よし、これでOKのはずだ!」
そう思い込み、すがすがしい気分で、再度IE6のチェックをしてみた。しかし、なんと、まったく同じエラーがやはり何度も連続で出るではありませんか!
「どうゆうことだこれは!?」
ただ今回は、先ほどの切り替えタブボタンが機能しない不具合は改善していた。やはり、JSファイルとの文字コード違いは、トラブルの原因だったということである。
では、他に一体何が問題だというのか?JavaScriptの構文もCSSもHTMLも何度見直してみてもエラーチェック用のソフトを使ってみても問題が発見できなかった。
それから一週間が過ぎた・・・その間、暇さえあればGoogleで問題の答えを尋ねてみたが、無情にも正解は見つからなかった。
「だめだ見つからない・・・これは、きっとIE6の呪いなんだ!そうだ、呪いだ!たぶん私のPCのIE6にだけ起こっている呪いなんだ!ブツブツブツ・・・」
気が狂いそうな気分で、今日もHTMLをひとつひとつチェックしていた。
諦めかけたその時、ふと他にもJSファイルがあることに気がついた。
それは・・・
Twitter公式ツイートボタンのタグだった。
そうです、原因は自分ではなくTwitter公式ツイートボタンだったのだ!
「なんてこったぁ~、ついったぁあ~ああついったああああ!」
ツイッタータグのJSファイルは、やはりUTF-8で保存されていた。タグに以下のように[charset="UTF-8"]を追加するとエラーは無くなった。
<a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-via="webkajp" data-lang="ja">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js" charset="UTF-8"></script>
まさか、ツイッター・・・完全に盲点だった。しかしこれ、素人だとまず気がつか可能性が高いでしょ・・・もしかしたらツイッターは意図的にIE6排除するためにエラーが出るようにしているんじゃ!?おかげで、何時間時間を使った事か・・・。
念のためTwitter公式ウィジェットのプロフィールウィジェットのタグにも[charset="UTF-8"]を追加しておいた。
つかれた。
ここ1週間ほどIE6(Internet Explorer 6)にだけ起こる不可解なエラーに悩まされていた。その不可解なエラーは、IE8、Firefox、Chrome、Safariでは、でないエラーだった。ちなみにIE7はチェックしていない。
「うぇぶかにほん公式ブログ日本Web化計画」では、IE6をサポート対象から外したというアナウンスをしていますが、まだ使っている人が多いのも事実なのでIE6のブラウザチェックもしている。本音を言えば、このやっかい極まりないIE6がこの世界からなくなってしまえば・・・と思いますが・・・
上の画像がそのエラーで、「Webページに問題があるため、正しく表示または機能しなくなる可能性があります。今後、ステータスバーに表示された警告アイコンをダブルクリックすると、このメッセージを表示できます。」という警告ダイアログが何度も連続して出る。
詳細には、以下のメッセージが・・・
ライン:2
文字:3581
エラー:"}"がありません。
コード:0
URL:http://webkacoco.blog84.fc2.com/
次に[ツール][インターネットオプション][詳細設定]のブラウズ[スクリプトのデバッグを使用しない(Internet Explorer)]のチェックを外して、再度IE6で見ると以下のエラー表示が・・・
ランタイムエラーが発生しました。デバッグしますか?
行:1
エラー:"}"がありません。
さらにブログタイトル下の「about」~「Search」切り替えタブボタンが機能しない。
「切り替えタブボタンのJavaScriptの構文エラーかな? "}" どっか抜けてるのかな?」と思い、JSファイルを調べてみたが、何度見直しても間違いはみつからない。
「うーんおかしい、まさかIE6お得意のバグか!?」
嫌な予感がしたので、同じオリジナルテンプレートを使っている「なか散歩」「日本Web化計画」をIE6で確認してみた。すると、なか散歩では同じエラーが出たが、日本Web化計画ではなぜかエラーが出なかった。
「文字コードか?」
この3つのブログに、決定的な違いがあることを思い出した。「ピースフルパラダイスライフ」と「なか散歩」の文字コードは「euc-jp」、しかし、同じFC2ブログである「日本Web化計画」は、なぜか「UTF-8」なのだ。そして、切り替えスイッチに使っているJSファイルは、UTF-8(正確にはUTF-8N)を指定して保存している。
そう、euc-jpのブログにUTF-8で保存されたJSファイルを読み込んでいたのが原因だった。だから2つのブログだけは、JSファイルが文字化けしてしまいエラーになったのだ。非常に初歩的なミスである。しかし、IE8では問題なく機能しているので、まったく気がつかなかった。さっそく以下のように[charset="UTF-8"]を追加した。こうする事でIE6にだけ起こる文字コードの違いによる不具合を改善できる。
<script type="text/javascript" src="http://ほにゃらら/切り替え.js" charset="UTF-8"></script>
「よし、これでOKのはずだ!」
そう思い込み、すがすがしい気分で、再度IE6のチェックをしてみた。しかし、なんと、まったく同じエラーがやはり何度も連続で出るではありませんか!
「どうゆうことだこれは!?」
ただ今回は、先ほどの切り替えタブボタンが機能しない不具合は改善していた。やはり、JSファイルとの文字コード違いは、トラブルの原因だったということである。
では、他に一体何が問題だというのか?JavaScriptの構文もCSSもHTMLも何度見直してみてもエラーチェック用のソフトを使ってみても問題が発見できなかった。
それから一週間が過ぎた・・・その間、暇さえあればGoogleで問題の答えを尋ねてみたが、無情にも正解は見つからなかった。
「だめだ見つからない・・・これは、きっとIE6の呪いなんだ!そうだ、呪いだ!たぶん私のPCのIE6にだけ起こっている呪いなんだ!ブツブツブツ・・・」
気が狂いそうな気分で、今日もHTMLをひとつひとつチェックしていた。
諦めかけたその時、ふと他にもJSファイルがあることに気がついた。
それは・・・
Twitter公式ツイートボタンのタグだった。
そうです、原因は自分ではなくTwitter公式ツイートボタンだったのだ!
「なんてこったぁ~、ついったぁあ~ああついったああああ!」
ツイッタータグのJSファイルは、やはりUTF-8で保存されていた。タグに以下のように[charset="UTF-8"]を追加するとエラーは無くなった。
<a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-via="webkajp" data-lang="ja">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js" charset="UTF-8"></script>
まさか、ツイッター・・・完全に盲点だった。しかしこれ、素人だとまず気がつか可能性が高いでしょ・・・もしかしたらツイッターは意図的にIE6排除するためにエラーが出るようにしているんじゃ!?おかげで、何時間時間を使った事か・・・。
念のためTwitter公式ウィジェットのプロフィールウィジェットのタグにも[charset="UTF-8"]を追加しておいた。
つかれた。
スポンサード リンク

オレンジモンキーさん (2011-03-27) edit
助かりました。
感謝しています。
ありがとう。
感謝しています。
ありがとう。
ひと言でいいので、気軽にコメントしていってください!
あなたのそのひと言がこのブログ運営の原動力なのです。よろしくお願いします。
あなたのそのひと言がこのブログ運営の原動力なのです。よろしくお願いします。
関連記事:ウェブとパソコン
-
FC2ブログでIE6だけに出る「webページに問題があるため...」というエラーの原因はtwitterだった!