2011-07-21 10 views
-1

HTML5でvalidator.w3.orgのページを検証しようとしています。次の3つのスクリプトタグを除いてすべてが検証されます。HTML5の</script>タグをどのように検証しますか?

<script type="text/javascript"> 
    alert('text'); 
</script> 

どこが間違っているのか分かりません。

Line 212, Column 10: The text content of element script was not in the required format: Expected space, tab, newline, or slash but found < instead. 
    </script> 
+1

ページの完全なソースを投稿してください。 – Dogbert

+0

OK、1秒と私はそれを投稿します。 – Issac

+0

申し訳ありませんが、識別可能な情報をすべて削除しようとしています。 – Issac

答えて

6

HTML5のために、有効なスクリプト要素は次のとおりです:

<script src="path/to/script.js"></script> 

または

<script> 
    ...code goes here... 
</script> 

それだ以下は私がW3バリデータから取得エラーです。あなたがしたい場合は、[type]属性を追加することができますが、それは必要はありません:HTMLは.htmlファイルに属し

<script type="text/javascript" src="path/to/script.js"></script> 
<script type="text/javascript"> 
    ...code goes here... 
</script> 

、CSSは.cssファイルに属し、JSは.jsファイルに属します。 JavaScriptを外部ファイルに保存すると、ブラウザはスクリプトをキャッシュして一度だけ読み込むことができます。 XHTMLの場合


script要素の内容を適切にエスケープする必要があります。ちょうどあなたのコードは、任意のインスタンスが含まれていないことに注意してください

<script type="text/javascript"> 
/* <![CDATA[ */ 
    ...code goes here... 
/* ]]> */ 
</script> 

:あなたのスクリプトデータのすべて(&lt;を書くことが面倒である)(文字データの略)CDATA要素を使用することですエスケープHTMLへのより良い代替]]>はすぐに<![CDATA[ ]]>要素を閉じます。

複数行のコメントは、JavaScriptがJavaScriptとして要素を解析しようとしないように使用されます。単一行のコメントを使うこともできますが、改行が挿入されてすべてがうまくいってしまうことを防ぐために、複数行コメントを好む傾向があります。

+1

CDATAでhtml5をエスケープしないでください。 – jontro

関連する問題