2010-12-12 12 views

答えて

22

これ以上は必要ありません。スクリプトの静的HTMLページへの挿入が始まったときに、ほとんどのブラウザがそれらをサポートすることができませんでした。コメントがなければ、彼らは理解できなかった<script>タグのセマンティクスを無視し、スクリプトソースをページに出力します。

皮肉なことに、このソリューションはAFAIK自体がハックしていましたが、HTML仕様の一部には、コメント内でスクリプトタグを解析する必要はありません。すべてのブラウザがこれを選んだという事実は、他の何よりも偶然のようだ。確かにXHTMLでは、コメントはコメントですので、完全に適合するブラウザにはがあり、スクリプトを無視します。

基本的に、あなたが本当にサポートしない限り、実際には古いブラウザ(いくつかの新しいものを壊すというコスト)でこれを行う必要はありません。

+7

私はトリックを '// <! - 'と '// - >'と覚えています。つまり、HTMLコメントタグをJavaScriptコメントとして記述して、スクリプトエンジンがそのように無視するようにします。もちろん、これは古いブラウザーが公開コメントタグから '//'を出すかもしれないということです。 – Rup

+0

+1のコメント。コメントにスクリプトタグ自体を含めるつもりはありませんでした。 – GolezTrol

8

<script>タグを理解していない本当に古いブラウザは、それが理解できなかった書式設定タグであると思われる可能性があります。ページ内のタグ(スクリプト)の内容をインラインでレンダリングすると、正常に機能しなくなります。

スクリプトをHTMLコメントアウトすると、ブラウザはコンテンツを表示せずに無視します。

実際には、これらのブラウザのいずれかがまだ使用中であることは疑いがあります。

7

これは、過去世紀に使用されていた一部の古いブラウザ向けです。

XHTMLを書くと、今日はもはや必要なくなりましたが、CDATAを使用することは良い方法です。

+1

javascriptコードを別々のファイルに置く方がよいと考えられます。 – GolezTrol

+4

+1「the last century」というフレーズ。 :) –

+1

"使用中の世紀"笑: – Green

0

ページのみ<xscriptx><script>タグを書き換えることにより、サニタイズ衛生パーサによって処理されます場合は、今日はまだ問題です。コメントタグを残しておけば、スクリプトタグがサニタイズされても、少なくともJavaScriptはコメントタグによってユーザから隠されます。コメントを省略すると、コードが表示されます。

衛生パーサーの例は、Google翻訳、Googleキャッシュ、またはProxomitronです。

+0

興味深い。私はあなたの推論に従いますが、Google翻訳とGoogle Cacheを少なくともチェックすると、私はそのような問題は見ません。 – J0e3gan

関連する問題