Heim > Web-Frontend > js-Tutorial > Warum Tags mit „document.write()' aufteilen?

Warum Tags mit „document.write()' aufteilen?

DDD
Freigeben: 2024-12-11 17:10:10
Original
836 Leute haben es durchsucht

Why Split `` Tags Using `document.write()`?

Document.write()-Skript-Tag-Aufteilung: Eine Begründung

In der Webentwicklung ist es nicht ungewöhnlich, auf Skripte zu stoßen, die mit document.write geschrieben wurden (), die das <script> oder /script> Tags. Diese Vorgehensweise wirft möglicherweise die Frage auf: „Warum eine solche Technik anwenden?“</p> <p><strong>Grund für die Aufteilung:</strong></p> <p>Die Antwort liegt in der Art und Weise, wie HTML-Parser CDATA-Abschnitte innerhalb von &lt. verarbeiten ;script> Elemente. Während SGML vorschreibt, dass ein <script> Der Block sollte beendet werden, wenn er auf eine offene End-Tag-Sequenz stößt (z. B. </). Browser erkennen nur ein tatsächliches </script> close-tag als Ende eines Skriptblocks.

Bedeutung der Aufteilung:

Betrachten Sie das folgende Beispiel:

<script type='text/javascript'>
  document.write('<scr' + 'ipt type="text/javascript" src="script.js"></sc' + 'ript>');
</script>
Nach dem Login kopieren

In diesem Fall , wenn das <script> Tag nicht geteilt würden, würde die Close-Tag-Sequenz </sc als Ende des umschließenden <script> interpretiert werden. blockieren, wodurch das Skript vorzeitig beendet wird. Durch die Aufteilung des Tags wird sichergestellt, dass der Browser das gesamte Skript korrekt analysiert und ausführt.</p> <p><strong>XHTML und Skripterstellung:</strong></p> <p>In XHTML gibt es keine spezielle Behandlung für Skriptblöcke. Zeichen wie < und & müssen innerhalb von Skripten maskiert werden. Die Verwendung von Zeichen ohne Escapezeichen kann jedoch zu Verwirrung in Browsern führen, die XHTML als HTML analysieren.</p><p><strong>Alternatives Skriptschreiben:</strong></p><p>Um sowohl XHTML- als auch HTML-Parsern gerecht zu werden, sollten Sie die Verwendung von in Betracht ziehen Folgender Ansatz:</p><pre class="brush:php;toolbar:false"><script type="text/javascript"> document.write('\x3Cscript type="text/javascript" src="script.js"></script>');

Durch das Escapen der Zeichen mithilfe der Hexadezimalschreibweise stellen Sie dies sicher Das Skript wird von allen Parsern korrekt interpretiert.

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

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage