BitArts Blog

ロードバイク通勤のRubyプログラマで伊豆ダイバー。の個人的なブログ。

JavaScriptコード内のHTML解釈

Firefoxに次のようなJavaScriptを食わせると、これがうまく動いちゃうんですねえ…

<script type="text/javascript"><br />
  document.write('hello!');<br />
</script><br />

行末に<br />が入っている状態ですが、<br />なんて無かったことにしてくれるようです。特にエラーも発生しない。

しかし他のブラウザ、IESafariChromeOperaではいずれもエラーになって動作しません。

問題はブログの記事に<script>を埋め込む時、「改行を自動的に変換」モードなどになっていると、このように<br />が挿入されたHTMLが生成されてしまいます。こうなると、普段Firefoxを使っていると普通に動いてしまうので気付かないのですが、IEとかで見ると動かん!ということになってしまいます。気を付けましょう。