Document.write() und Skript-Tag-Aufteilung: Warum es gemacht wird
Bei Verwendung der document.write()-Methode zum Erstellen eines Skripts Möglicherweise stellen Sie fest, dass einige Websites das <script>-Tag trennen. und </script> Tags über mehrere Anrufe hinweg. Diese Technik wird aus einem bestimmten Grund eingesetzt: um eine vorzeitige Beendigung des Skriptblocks zu vermeiden.
Browser analysieren HTML normalerweise mithilfe von SGML-Regeln. Laut SGML sollten Skriptblöcke mit jeder End-Tag-Open-Sequenz (ETAGO) enden, z. B. <[/). In der Praxis beenden Browser das Parsen eines CDATA-Skriptblocks jedoch erst auf einem richtigen Tag schließen.
Daher wird einschließlich des vollständigen <script> und </script> Tags innerhalb eines einzelnen document.write()-Aufrufs würden dazu führen, dass der Browser den Skriptblock vorzeitig beendet, wenn er auf die
Um dieses Problem zu verhindern, stellt die Aufteilung der Tags sicher, dass die Der Browser interpretiert das Skript korrekt und führt es aus. Die Aufteilung kann zwischen < und /, sodass der Skriptblock nur dann ordnungsgemäß beendet werden kann, wenn der vollständige Die Sequenz wird geschrieben.
Eine bessere Alternative zur Verwendung dieser Aufteilungstechnik besteht darin, alle < oder &-Zeichen im Skript und erstellen Sie das Skriptelement wie folgt:
document.write('\x3Cscript type="text/javascript" src="foo.js">\x3C/script>');Dieser Ansatz funktioniert sowohl für HTML5- als auch für XHTML-Dokumente, wodurch Kreuzkompatibilität gewährleistet und Browserverwirrung vermieden wird.
Das obige ist der detaillierte Inhalt vonWarum teilen einige Websites „'- und „'-Tags mit „document.write()' auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!