この記事は2年以上前に書かれた記事です。現状にそぐわないかもなのでご注意を。

[WP] IE6 でスクリプトエラーが発生したら

プラグインをモリモリ盛った WordPress。
それがある日突然クライアントから「IE6 でスクリプトエラーになるんだけど」なんて連絡がきたら・・・考えただけでも恐ろしいです。

それに近い事が実際に起こってしまいました。
幸いプラグインは必要最低限なものだったけど、問題は、私のWindows IE6 環境ではエラーを吐かないこと。
エラーを吐いてくれないことには Try & Error での原因究明もできないのです。

幸いクライアントが同じ業界の方だったので、プラグインのON/OFFをしながら、エラーの状況を見てもらうことにしましたが・・

それにしてもおかしい…読み込んでいる JavaScript は多くないはず。
しかも信頼のおけるJSばかり。

この時点で思い出しました。
Google 関連の JavaScript がなぜか IE6 でエラーを吐く事があるという報告があった事を。

試しに、Google Analytics のコードを削除してエラー状況を電話で確認したところ、これがビンゴ。
まさに Google Analytics が悪さしてました。

いろいろと幸いな状況が続いたのでさっくり解決できましたが、状況によっては、エラーを吐くクライアントのところまで出向いての検証作業などで丸一日程度無駄にしていたかもしれません。

結論:IE6 でスクリプトエラーが出て、他のブラウザ/バージョンでは出ない、という状況ではまず Google 関連から疑うべし。

–(後記)—-

上記エラーの理由:文字コードがUTF-8のページで外部javascript を読込む際にUTF-8を明示的に表記しないと微妙な動作をする。

解決方法:以下のソース部分を変更。

※変更前

document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

※変更後

document.write(unescape("%3Cscript charset='utf-8' src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

情報ありがとうございました。

スポンサーリンク