スクリプトデータ(%Script;)

解説

script要素の中身や組み込みイベント属性(onxxx属性)がこの形式です。文字データ(CDATA)の特徴を持ちます。

属性値中のスクリプトデータ

組み込みイベント属性中のスクリプトデータは次のような特徴を持ちます。

  • 文字参照を解釈する(&は&になる)
  • 改行(LF)を無視し、改行文字(CR)とタブは一つの空白に置き換える

1番目の性質のため、

  • 「&」は「&」と記さなければいけない
  • 「"」は「"」と記さなければいけない

となります。例えば次のように記述します。

<input type="button" onclick="alert(&quot;Hello, World!&quot;);">

また、組み込みイベント属性中にタグを記述することもできますが、「<」「>」の記号を「&lt;」「&gt;」に直しておいたほうが安全です。

<input type="button" onclick="x = &quot;&lt;br&gt;&quot;;">

script要素中のスクリプトデータ

script要素の中身は次の性質を持ちます。

  • 文字参照を解釈しない(&amp;は&amp;のまま)
  • 終了タグ開始区切り子(</)を要素の終わりとみなす

2番目の性質のため、スクリプト中に</を書くことができません。よって次のような書き方は間違いです。

<script type="text/javascript">
var x ="<em>Hello, World</em>";
</script>

次のように\を使ってエスケープするなどして、スクリプト中に</という文字列が現れないようにしてください。

<script type="text/javascript">
var x ="<em>Hello, World<\/em>";
</script>

Information

現在の位置