如何解决具有application / xhtml + xml Content-Type的HTML实体
| 使用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实体,因此我不希望将所有内容都转换。
谢谢!
解决方法
XML没有文本命名的实体,您可以在doctype中定义它们,也可以用char代码实体替换文本命名的实体(例如 是 等)。
http://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references
(以unicode代码点为十进制)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。