ホームページ >ウェブフロントエンド >jsチュートリアル >一部の Web サイトが `document.write()` を使用して ` タグを分割するのはなぜですか?

一部の Web サイトが `document.write()` を使用して ` タグを分割するのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-25 19:04:10763ブラウズ

Why Do Some Websites Split `` Tags Using `document.write()`?

分割<スクリプト> document.write() のタグ

分割 <script> </script> document.write() を使用したタグは、スクリプトを Web ページに動的に追加するために一部の Web サイトで採用されている手法です。

なぜ分割が必要ですか?

HTML では、<スクリプト>タグには JavaScript コードが含まれます。ブラウザが <script> に遭遇すると、タグ内にあるコードを解釈して実行します。ただし、<script>タグを 2 つの部分に分割し、 document.write() で記述することで、スクリプト ブロックの早期終了を防ぎます。</script>

CDATA を使用したブラウザーの動作

HTML では、< ;スクリプト>タグは、コンテンツに CDATA (文字データ) セクションを使用します。 CDATA ブロックは、< などの終了タグのオープン区切り文字に遭遇したときに終了することになっています。ただし、ブラウザは通常、実際の 上でのみ CDATA スクリプト ブロックを終了します。 close-tag.

たとえば、Amazon の次のコードはこの手法を示しています:

<script type='text/javascript'>
  if (typeof window['jQuery'] == 'undefined') document.write('<scr' + 'ipt type="text/javascript" src="http://z-ecx.images-amazon.com/images/G/01/javascripts/lib/jquery/jquery-1.2.6.pack._V265113567_.js"></sc' + 'ript>');
</script>

代替アプローチ

XHTML では、混乱を避けるためにスクリプトをエスケープする必要があります。より良いアプローチは、以下に示すように、16 進文字シーケンスを使用してスクリプト要素を記述することです。

<script type="text/javascript">
    document.write('\x3Cscript type="text/javascript" src="foo.js">\x3C/script>');
</script>

これらのガイドラインに従うことで、開発者は、さまざまなブラウザーとの互換性を維持しながら、動的スクリプトを Web ページに効果的に組み込むことができ、 HTML 標準。

以上が一部の Web サイトが `document.write()` を使用して ` タグを分割するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。