IEで「文字が正しくありません」

2010/09/25 | JavaScript/Ajax

最近はjQueryを使った動きのあるフロントエンドを作る作業が多いのだが、先日IEで問題が発生した。

自分の場合、フロントエンドの開発の際はFireFoxを使っている。JavaScriptのデバッグ処理は、なんといってもFireBugが便利だからだ。以前はJavaScriptの開発がとても嫌いだったのだが、おそらくIEで表示されるJavaScriptのエラーメッセージの意味が全くもって不明だったことも一因だと思っている。

フレームワークを使わない場合は、クロスブラウザ対応で問題がでることが多かったが、最近はそのへんをフレームワークが全て吸収してくれるので便利だ。

さて、本筋に戻って開発段階で問題なく動いていたJavaScriptをクロスブラウザ環境で一通りテストしてみて問題が起きた。FireFox、Chrome、Safariとここまでは順調だったが・・・、IEでつまづいた。「文字が正しくありません」。

おかしい。開発段階でも万一を考えて時々IEでもチェックしていたのだから、今更動かないわけがない。しかし実際は動かないので悩んでしまった。訳がわからないことに、サーバにアップロードすると動くけどローカルPC上では動かない。ウェブを検索すると、いくつか原因となりそうな事項があるような感じ。

  • JavaScript外部ファイルのパスの指定が間違っている
    いやいや、初心者でもないのでさすがにそういうミスはありえない。というか一番最初に調べてるし。
  • JavaScript外部ファイルの文字コードとHTMLの文字コードが違う
    ドキドキして調べたけど、そういえばプログラムに日本語使ってない。一部コメントには日本語があるけれど・・・。ってそれでももちろん問題ない。文字コードはあわせてある。

と、虱潰しにあたってみたけど、まったくわからない。そしてふと思いついた。

「キャッシュ壊れてないか」

IEのキャッシュを削除して、再度ページを開き直すと問題なく動いた。そういえばさっきの状態では、本来なら「セキュリティ保護のため・・・」というローカルファイルにJavaScriptが埋め込まれている場合に表示されるエラー自体が出ていなかった(ちょっとおかしいなぁとおもっていたのだが)。

ということで原因はキャッシュが壊れていたことだったようだ。

コメントを残す


守谷市(まちの情報ポータル) 無料アンケートレンタルjpForm.net