「JavaScript/XML」の版間の差分

削除された内容 追加された内容
6 行
HTMLでは、script要素に対応していないブラウザでスクリプトが表示されてしまわないように、script要素の内容をコメントアウトすることができます。script要素を全く知らないユーザーエージェントにとって、script要素の内容は、CDATA型ではなく、#PCDATAですから、HTMLのコメントの体裁をしていれば、当然、HTMLのコメントとして処理してしまうわけです。したがって、次の例では、script要素に対応していないユーザーエージェントは、script要素の内容をコメントアウトします。
 
<nowiki><script type="text/javascript"><!--
document.write("Hello World");
//--></script></nowiki>
16 行
 
などの実情があります。これに甘えれば、コメントアウトの必要性自体がかなり低くなってきていると言えなくもないわけです。
どうしても気になる場合は、script要素のsrc属性を用いてコンテンツ外のJavaScriptファイルを参照すると良いでしょう。要するに、script要素の内容は空にしておいた方が無難です
<!-- src属性に対応していないブラウザはどうしましょう? -->
 
<script type="text/javascript" src="hello.js"></script>
 
要するに、script要素の内容は空にしておいた方が無難です。
 
ところで、script要素を認識しているユーザーエージェント、つまり、script要素の内容をCDATAとして扱っているユーザーエージェントは、この内容の終わりを知る術が無いように思われるかもしれません。しかし、これは、HTML仕様にきちんと書かれていて、「</」の2文字が出現する直前までがCDATA区間、つまり、script要素の内容である、ということになっています。ただし、実装レベルでは、この仕様を守りつつ、より高度な判定をするように作られています。とはいえ、文字列中に「</」が出現するようなスクリプトをscript要素の内容に書く場合には、「<\/」のように記述する方が好ましいでしょう。
 
<!--
ちょっと酷かったので、とりあえず、編集してみたんだけど、
そもそも、ここは JavaScript XML だよね。
正直、HTML の覚書が必要だとは思えないよ。
MSXML や XUL の話、そして、XSLT 内で補助的に使われる話がメインになるべきじゃないの?
-->
 
== <や&の取り扱い==