带有application / xhtml + xml Content-Type的HTML实体

时间:2011-05-31 08:55:02

标签: javascript internet-explorer-9

使用application / xhtml + xml Content-Type时,我不能在我的javascript(,€等)中使用任何命名的HTML实体。

当我使用text / html Content-Type时它工作正常。放入文档本身时,违规的HTML实体也可以正常工作(而不是使用Javascript)。

当我在IE9中点击“F12开发人员工具”时,我收到以下错误:

SCRIPT5022: DOM Exception: SYNTAX_ERR (12) 
    javascript.js, line 7 character 2
XML5645: The specified entity has not been declared. 
    , line 1 character 42

Firefox提供了类似的错误:

[11:19:33.491] undefined entity:1
[11:19:33.493] uncaught exception: [Exception... "An invalid or illegal string was specified"  code: "12" nsresult: "0x8053000c (NS_ERROR_DOM_SYNTAX_ERR)"  location: "http://arp242.net/entity-test/javascript.js Line: 8"]

然后执行停止。

我创建了一个测试页面,用于测试/隔离问题所在的位置:http://arp242.net/entity-test/

据我所知,命名的HTML实体在XHTML中完全有效(http://www.w3.org/TR/2002/REC-xhtml1-20020801/#h-A2

有没有人知道如何解决问题?我可以输入字符(€, - ,“,”等)或数字&#..;值和有效,但我宁愿使用HTML实体。还有相当多的现有(第三方)代码使用HTML实体,我宁愿不转换所有这些。

谢谢!

1 个答案:

答案 0 :(得分:1)

XML没有文本命名实体,您可以在doctype中定义它们或用char代码替换文本命名实体(例如& nbsp; is 等等)

http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references (以十进制为单位的unicode代码点)