10
@monjudoh
scriptタグ内を<!-- // -->で括ってからJavaScript書くのってどの辺のブラウザ向けにやってるんだっけ? #javascript
@Aka_neko
@monjudoh 確か IE3 とか IE4(?) あたりのかなり古いブラウザ向けの対処法だったはず。いま普及してるほとんどのブラウザでは大丈夫なはず。
@drillbits
@monjudoh 古い携帯用ブラウザでscriptタグを解釈するでも無視するでもなくそのまま出しちゃうやつで書いてたような気がします
@uupaa
@monjudoh HTML3.2ぐらいのブラウザ(含ガラケー)向けだった気が。HTML3.x だと <script>が予約語扱いなので
@monjudoh
@uupaa やり続ける意味あるのかなーと思いまして
@taku_eof
@monjudoh "Polyglot Markup" http://j.mp/9Seot3 には、CDATA セクションにしておこうぜ……という旨の話が書かれていたりします。
@uupaa
@monjudoh そろそろ止めてもいんじゃないかなー
@unagix
@monjudoh なんらかのブラウザ対応じゃなくて、HTMLパーサがDOMを構成できならないようにしてるんだと妄想してました。
@os0x
@monjudoh 元々はNetscape2とか。携帯はそもそもPCと同じHTMLを渡すのが失敗。つまり不要です。
@edvakf
@monjudoh @taku_eof さんも書いてますが、XHTML として解釈するときに <script type="text/javascript">if (1<2) 1&2</script> などが valid ではなくなります。
@edvakf
@monjudoh で、<!-- にするとさっきの例は valid になるんですが、a-- のようなものはまた valid にならない (ハイフン2つ連続してるのはコメント内では許されない) ので CDATA にする必要があります。
@edvakf
@monjudoh で疑問なんですが、 script 要素を理解しないネスケ1とかの場合は <script type="text/javascript">//<![CDATA[ … //]]></script> とかやった場合は最初の // が出力されるんじゃないかと思うのです。

コメント

文殊堂 @monjudoh 2010年8月4日
というわけで、やらなくてよさげ
文殊堂 @monjudoh 2010年8月4日
なるほど、今となってはHTMLコメントでくくるのは無意味だが、XHTMLの場合はCDATAセクションでくくる必要ありということか
Ichigo Mayo @15my 2010年8月4日
要素に対応出来ない場合は中身を表示するのが原則で、たとえばFlash Player入ってない時に「こちらからダウンロード」とか表示されるのは原則通りの解釈の結果。
Ichigo Mayo @15my 2010年8月4日
が、原則をscript要素に適用してしまうと意図通りの表示にならないため、設定でオフだろうがスクリプトエンジン積んでなかろうが中身が表示されないように配慮している様子。