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