HTML 5自定义元素名称?
在
HTML 5 specification中,解析器和规范声明元素名称可以是以字母开头并且后跟字母数字字符的所有内容.
现在的问题是,如果我引入的附加元素不是规范的一部分,但在符合指定语法方面有效,那么会发生什么. 所有这些浏览器在遇到具有自定义但未知名称的元素时会做什么?这些元素是否像任何元素一样受到威胁,还是被遗漏,剥离或替换? 例如,HTML5编辑器的行为如何? 关于有效的元素标签名称,我忽略了哪些规范? [更新] 该规范在这里具有误导性,因为它声明了HTML元素名称的字母数字字符.在阅读HTML 5规范时,我想念所有元素名称都是如此. 这显然是错误的.在解析器部分中,它声明元素名称必须仅以ASCII字母开头,并且在该字母后面除外:
除了那些需要特殊处理涉及错误或结束标签名称的字符旁边,所有其他可能的字符接缝都是允许的.
从我的现场测试中,几个解析器的第一个字母也允许使用附加的单代码字母(至少它们优于那些). [/更新] 解决方法
不正确.规范声明元素名称必须是该文档中明确列出的名称之一,或者在另一个适用的规范中.这些包括但不限于SVG和MathML. 该规范还包括HTML的消费者的处理规范,例如浏览器.这并没有描述什么是“允许”,它描述了这些消费者应该对文档的每个字符做什么,无论它是否包含允许或不允许的内容.
遵循以上规则. “指定语法”无关紧要.规范描述了消费者应该对任何输入字符串做什么.
它们被视为http://www.w3.org/1999/xhtml名称空间中实现HTMLUnknownElement接口的元素.
如果它们符合HTML5,则在读取HTML时它们的行为方式相同.
见上面的第一段.此外,Custom Elements spec使任何元素名称以ASCII字母开头并包含连字符被认为是有效的.目前还不清楚该规范目前是否是“HTML5适用规范”,但如果不是,它很可能很快就会出现. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |