2017-02-25 1 views
1

Ich verstehe nicht den Fehler, der mir zurückkommt der Browser Ich habe einige einfache Text in eine Variable , aber in der Tat wird dies als ein Skript interpretiert?Javascript-Text als Skript interpretiert

Fehler:

Uncaught SyntaxError: Invalid or unexpected token : line 10

<!DOCTYPE html> 
<html lang="en"> 
<head> 
<meta charset="utf-8"/> 

<body> 
</body> 
<script> 

var text = '<script> Hello </script>' ; 

//console.log (text); 

</script> 
</html> 

ähnliche Probleme: javascript string interpreted as object

Antwort

4

Wenn der Browser das Parsen, dass es <script> sieht und baut blind nach oben Text, bis es die Sequenz </script> sieht, die Es dauert dann als das Ende des Skripts. In deinem Fall ist das in der Mitte deiner Saite.

dass zu vermeiden, einen Backslash in der Zeichenfolge vor dem / hinzufügen:

var text = '<script> Hello <\/script>' ; 

Das Backslash keine Wirkung in JavaScript hat (ein entflohener / ist immer noch ein /), aber der Browser nicht, dass als das Ende des Skripts.

Oder Sie können es brechen:

var text = '<script> Hello <' + '/script>' ; 

Im Grunde alles, so dass der Browser nicht </script> sieht vor dem eigentlichen Ende des Skripts.

+0

der Fehler ist auf einen Versuch in CodeMirror SetValue einen Text, der '. Aber die bessere Antwort ist, dass Sie JavaScript in JavaScript-Dateien einfügen und stattdessen '' verwenden. Dann müssen Sie sich keine Gedanken darüber machen, ob Sie die Zeichenfolge '' überhaupt in Ihrem JavaScript-Code haben. –

+0

perfekt, vielen Dank! –

Verwandte Themen