Heim >Web-Frontend >js-Tutorial >Warum teilen einige Websites „Tags' mithilfe von „document.write()' auf?

Warum teilen einige Websites „Tags' mithilfe von „document.write()' auf?

Barbara Streisand
Barbara StreisandOriginal
2024-12-25 19:04:10763Durchsuche

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

Aufteilen von <script> Tags in document.write()</strong></p> <p>Aufteilen von <script> und </script> Tags mit document.write() ist eine Technik, die von einigen Websites verwendet wird, um Skripte dynamisch zu einer Webseite hinzuzufügen.

Warum ist eine Aufteilung erforderlich?

In HTML ist < Skript> Tags schließen JavaScript-Code ein. Wenn der Browser auf ein <script> Tag interpretiert es den darin enthaltenen Code und führt ihn aus. Wenn jedoch das <script> Tag in zwei Teile geteilt und mit document.write() geschrieben wird, verhindert es eine vorzeitige Beendigung des Skriptblocks.</p> <p><strong>Browserverhalten mit CDATA</strong></p> <p>In HTML &lt ;script> Tags verwenden einen CDATA-Abschnitt (Character Data) für ihren Inhalt. CDATA-Blöcke sollen enden, wenn sie auf ein offenes End-Tag-Trennzeichen wie < stoßen. Allerdings beenden Browser normalerweise CDATA-Skriptblöcke nur bei einem tatsächlichen </script> close-tag.

Beispiel

Zum Beispiel demonstriert der folgende Code von Amazon die Technik:

<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>

Alternative Ansätze

In XHTML müssen Skripte maskiert werden, um Verwirrung zu vermeiden. Ein besserer Ansatz besteht darin, eine hexadezimale Zeichenfolge zum Schreiben des Skriptelements zu verwenden, wie unten gezeigt:

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

Durch die Befolgung dieser Richtlinien können Entwickler dynamische Skripte effektiv in ihre Webseiten integrieren und gleichzeitig die Kompatibilität mit verschiedenen Browsern aufrechterhalten HTML-Standards.

Das obige ist der detaillierte Inhalt vonWarum teilen einige Websites „Tags' mithilfe von „document.write()' auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn