IE javascript utf8 エラー

| | コメント(0) | トラックバック(0)

今日発生した、javascript IEのトラブルについて書いておきます。

とんでもないことに、IEでは、javascriptのコメントの書き方を間違うと、エラーになる場合があります。

   はあ??



わかりやすくするために、うまくいく場合うまくいかない場合の2つのソースを書いてみました。
内容としては、ページが表示されたときに、Good job!と表示されるだけのコードです。

javascriptの部分だけ抜粋すると、以下のようなもの

<script type="text/javascript">
var test = function () {
    // 描画領域の取得と設定
    alert("here");
}
setTimeout("test()",200);
</script>

IE6またはIE7で上記のリンクをクリックしてみれば、片方は予想通り動作するのに、片方は動作しないことが確かめられるでしょう。

ソースを見比べてみると殆ど違いはない。

この違いは何だろうか?

これら2つのソースの違いは1行しかありません。
つまりコメント行です。
    // 描画領域の取得と設定

うまくいく場合は、コメントの最後に半角スペースが含まれていますが、
動作しない方のソースは、コメントの最後にスペースが含まれていません。



なぜ、このような症状がおきるか調査しました。
(本来のコードはもっと複雑で、奇妙な現象がおきたり起きなかったりしたので、不思議でしたが)

要するに、自分が悪かったのです。HTML の<head>タグにcontent-typeを記載していませんでした。
このため、IEはshift-jisでjavascriptを解釈しようとしているため、コメントの内容によっては、判定できないのです。


まったく、たったこれだけのために、半日以上費やしました。
この半日をどこかで取り戻さないといけないので、落ち込みますが、
多分、似たようなことで嵌っている人もいるのではないかと思い、日記に書いておきます。

この記事を見て、救われた方がいらっしゃれば、慰めになりますです。はい。


カテゴリ

トラックバック(0)

このブログ記事を参照しているブログ一覧: IE javascript utf8 エラー

このブログ記事に対するトラックバックURL: http://www.doevery.com/200709.MT4/mt/mt-tb.cgi/87

コメントする

このブログ記事について

このページは、風太郎が2008年1月28日 20:14に書いたブログ記事です。

ひとつ前のブログ記事は「障害者支援事業」です。

次のブログ記事は「今期の目標」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.23-ja