2012-04-12 3 views
1

Ich bezweifle die letzte Option, aber wahrscheinlich einer der ersten beiden. Kann mir jemand was sagen?Javascript Fehler in Chrome: Ich, etwas fehlt mir oder ein Bug in Chrome?

Ich bekomme den Fehler im Screenshot.

<html> 
<head> 
<script type="text/javascript"> 
var html = "<script></script>"; 
</script> 
</head> 
<body> 
</body> 
</html> 

Screenshot of Error

+0

Was letzte Option? Deine Frage ist sehr vage. – TJHeuvel

+0

Sorry, schlechter Witz. Die Optionen im Titel waren, Ich, etwas, was ich vermisse oder einen Fehler in Chrome – rhughes

Antwort

2

Sie können auch \ verwenden das Zeichen richtig zu machen:

var html = "<script><\/script>"; 
5

Dies ist ein Problem in jedem Browser, wird der Skriptblock an der ersten Zeichenfolge </script> beendet, so dass, wenn diese Zeichenfolge irgendwo im Code angezeigt wird es eine vorzeitige Beendigung des Skriptblocks verursachen .

Wenn Sie dies als eine Variable in JS haben wollen, verwenden:

var html = unescape("%3Cscript%3E%3C/script%3E"); 
+0

Danke, das hat funktioniert. – rhughes

+1

Etikette würde vorschlagen, dass Sie die Antwort von steveukx als akzeptiert gewählt haben. –

1

, dass kein Fehler ist. Es ist das richtige Verhalten für ein Skript-Tag. Was Sie tun, entspricht dem Nicht-Entkommen eines Zitats in einer Zeichenfolge.

var string = 'My mother's awesome.'; 

Eine einfache Möglichkeit, das Problem zu beheben, ist die </script> Tag auseinander zu brechen, etwa so:

var html = "<script></"+"script>"; 
Verwandte Themen