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