Heim  >  Artikel  >  Web-Frontend  >  Wie kann verhindert werden, dass in JavaScript-Strings eingebettete Skript-Tags durch einen unerwarteten Skriptabbruch geschlossen werden?

Wie kann verhindert werden, dass in JavaScript-Strings eingebettete Skript-Tags durch einen unerwarteten Skriptabbruch geschlossen werden?

Barbara Streisand
Barbara StreisandOriginal
2024-10-24 11:23:02226Durchsuche

How to Prevent Unexpected Script Termination from Closing Script Tags Embedded in JavaScript Strings?

Skriptbeendigung innerhalb von JavaScript-Zeichenfolgen

In JavaScript kann das Einbetten eines schließenden Skript-Tags () in eine Zeichenfolge in Anführungszeichen dazu führen unerwarteter Skriptabbruch. Dies geschieht, wenn der HTML-Parser des Browsers das Tag innerhalb der Zeichenfolge als Ende des Skriptelements interpretiert.

Zum Beispiel im folgenden Codeausschnitt:

<script>
var test = 'foo... <\/script> bar.....';
</script>

Das schließende Skript-Tag darin Die Zeichenfolge beendet das Skriptelement vorzeitig, was dazu führt, dass der „Balken“-Teil der Zeichenfolge als Textinhalt außerhalb des Skriptblocks behandelt wird.

Um dieses Problem zu umgehen, besteht eine gängige Technik darin, den Verkettungsoperator ( ) zu verwenden. So verketten Sie die Zeichenfolgensegmente:

var test = '...... </scr' + 'ipt>......';

Indem Sie das Skript-Tag in Teile aufteilen und diese verketten, können Sie verhindern, dass der Browser das schließende Tag als Ende des Skriptelements interpretiert.

Das obige ist der detaillierte Inhalt vonWie kann verhindert werden, dass in JavaScript-Strings eingebettete Skript-Tags durch einen unerwarteten Skriptabbruch geschlossen werden?. 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