Я пытаюсь запустить следующий HTML в любом браузере: Opera, FF, IE, ChromeНе удается запустить JavaScript в 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 регистрирует сообщение об ошибке в консоли: Uncaught SyntaxError: Неожиданный токен <. Кажется, он жалуется на кулак < в декларации CDATA. Firefox также регистрирует «синтаксическую ошибку»
В w3schools указывается, что это способ использования CDATA http://www.w3schools.com/xml/xml_cdata.asp. Other answers на этом сайте. Что я делаю не так? Я пробовал играть с пространствами имен и дотипами, но это ничего не меняло.
Редактировать: Я добавил пространство имен XHTML и doctype, которые я первоначально удалил, и проблема по-прежнему сохраняется.
XML! = HTML. Вот вопрос, который объясняет это: –
Возможный дубликат [Когда раздел CDATA необходим в теге скрипта?] (Http://stackoverflow.com/questions/66837/when-is-a-cdata-section-necessary- in-script-tag) –
XHTML - это XML. На самом деле весь HTML на моем сервере генерируется XSL-шаблонами, поэтому по определению он является действительным XML. –