2012-04-12 49 views
1

我懷疑最後的選擇,但可能是前兩個選項之一。有人可以告訴我哪個?Chrome中的Javascript錯誤:我,我缺少的東西或Chrome中的錯誤?

我在屏幕截圖中看到錯誤。

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

Screenshot of Error

+0

什麼最後的選擇?你的問題非常模糊。 – TJHeuvel 2012-04-12 10:42:55

+0

對不起,壞笑話。標題中的選項是,我,我錯過了一些或者Chrome中的錯誤 – rhughes 2012-04-12 10:43:49

回答

2

您還可以使用\正確地呈現這個角色:

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

這是每一個瀏覽器的問題,腳本塊終止於第一串</script>,所以如果該字符串出現在你的代碼的任何地方它會導致腳本塊的提前終止。

如果你想擁有本作中,JS變量,可以使用:

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

謝謝,這很有效。 – rhughes 2012-04-12 10:50:22

+1

禮節會建議你選擇steveukx的答案作爲接受的答案。 – 2012-04-12 11:15:20

1

這是沒有錯誤。這是腳本標記的正確行爲,您所做的等同於不轉義字符串中的引號。

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

一個簡單的方法來解決你的問題是掰開</script>標籤,就像這樣:

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