運行JavaScript我試圖運行在每個瀏覽器下面的HTML:歌劇,FF,IE,Chrome的不能在CDATA
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8">
</head>
<body>
<script>
<![CDATA[
alert('Hey!');
]]>
</script>
</body>
</html>
他們沒有顯示警報。 Chrome在控制檯中記錄錯誤:未捕獲的SyntaxError:意外的令牌<。它似乎在抱怨CDATA聲明中的拳頭<。火狐還記錄「語法錯誤」
W3Schools的指出,這是使用CDATA http://www.w3schools.com/xml/xml_cdata.asp的方式。 Other answers在這個網站上建議。我究竟做錯了什麼?我嘗試使用命名空間和文檔類型,但這並沒有改變任何東西。
編輯:我添加XHTML名字空間和文檔類型,那我當初刪除,問題仍然存在。
XML!= HTML。下面是一個解釋它的問題: – 2012-03-06 19:26:06
可能的重複[When is a CDATA section within a script tag?](http://stackoverflow.com/questions/66837/when-is-a-cdata-section-necessary-腳本內標籤) – 2012-03-06 19:27:53
XHTML是XML。事實上,我服務器上的所有HTML都是由XSL模板生成的,因此根據定義它是有效的XML。 – 2012-03-06 19:28:54