ホームページ >ウェブフロントエンド >jsチュートリアル >`document.write()` を使用するときに ` タグを分割するのはなぜですか?

`document.write()` を使用するときに ` タグを分割するのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-14 08:02:11772ブラウズ

Why Split the `` Tag When Using `document.write()`?

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

Document.write() は、HTML ドキュメントにコンテンツを動的に挿入するための強力なメソッドです。ただし、<script>を書くときはdocument.write() を使用してタグを作成するには、タグを複数の部分に分割する必要があります。この手法は、<script> の早期終了を防ぐために、Amazon を含むさまざまな Web サイトで採用されています。 </p> <p>分割の必要性は、ブラウザが </script> を処理する方法から生じます。タグ。 SGML では、スクリプト ブロックは、 を含む終了タグのオープン シーケンス ( に遭遇した場合にのみ解析を終了します。 close-tag.

したがって、 の場合、分割されていない場合、囲まれている <script></script> 全体が途中で終了します。ブロック。これを防ぐために、Web サイトでは を分割します。 < の前後のタグ

たとえば、Amazon はこの手法を使用して jQuery を動的に組み込みます。

<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></p>
<p>XHTML には、スクリプト ブロックは特別に処理されるため、ブロック内のすべての文字をエスケープする必要があります。ただし、これにより、XHTML を HTML として解析するブラウザに混乱が生じる可能性があります。これを回避するには、</p>
<pre class="brush:php;toolbar:false"><script type="text/javascript">
    document.write('\x3Cscript type="text/javascript" src="foo.js">\x3C/script>');
</script>
のように、小なり文字とアンパサンド文字を表す 16 進文字参照を使用することをお勧めします。

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

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