数年前に何かで読んだ覚えがあるが、もう覚えていない。
それはIEと関係があり、それをプレーンテキストとして解析していました...?
CDATAのことだと思います
これにより、バリデーターが修正されます。問題は、一部の古い Web ブラウザーが CDATA タグを認識しないため、これらの Web ブラウザーで Javascript が機能しなくなることです。幸いなことに、Javascript の複数行コメントは、検証エラーを引き起こさない文字で開始および終了します。したがって、Web ブラウザ内の Javascript プロセッサに関する限り、CDATA タグをコメント アウトすることができますが、バリデータに関する限り、CDATA として定義された Javascript コンテンツはそのままにします。次のようにします。
<script type="text/javascript">
/* <![CDATA[ */
// content of your Javascript goes here
/* ]]> */
</script>
HTML コメント タグ<!--
を-->
JavaScript の周りに追加して、JS を理解しない古いブラウザーがテキストとして表示しないようにする必要があります。//
JavaScript がコードとして解釈しないように、JavaScript の「行末までのコメント」文字を HTML コメント終了タグの前に置くのが最善です。技術的には、JS を理解していないブラウザーは非常にまれですが、害はなく、おそらく合計 15 バイトのコストがかかります。
最終的に、私はたいてい次のようなことをしますが、ほとんどが習慣です。
<script type="text/javascript">
<!--
var scriptHere="whatever";
//-->
</script>
ここで大雑把な推測をします...次のようなことを意味しますか:
<script type="text/javascript">//<![CDATA[
function doStuff() {
alert('Yadayadayada');
}
//]]></script>
(バリエーションには、JavaScriptの行コメントと同様<!--
に、最初の行と//-->
最後の行が含まれます。)<!--
古いブラウザがテキストとして解釈したことが関係しているのかもしれませんが、その点では、もう心配する必要はありません。
他の部分は有効性です。たとえば、JavaScript で比較や AND 演算に使用される特定の文字は、<
有効>
な&
XML ではありません。それらを CDATA ブロックに入れると有効になります。ただし、これが原因で問題が発生するブラウザは知りません。
もちろん、これに対処する最善の方法は、以下を使用して外部スクリプトにリンクすることsrc
です。
<script type="text/javascript" src="scripts/whatever.js"> </script>
コンテンツを動作からうまく分離し、マークアップを整理し、キャッシングと並列ダウンロードを活用し、このようなことを心配する必要がなくなります.