在我添加YouTube的嵌入代码之前,我的页面验证了HTML5的免费错误。
# Line 140, Column 132: Stray end tag param.
…O30JM&hl=en_US&fs=1"></param><param name="allowFullScreen" value="tru
# Error Line 140, Column 183: Stray end tag param.
…llowFullScreen" value="true"></param><param name="allowscriptaccess" value="a
# Error Line 140, Column 238: Stray end tag param.
…scriptaccess" value="always"></param><embed src="http://www.youtube.com/v/1rW
# Error Line 140, Column 430: Stray end tag embed.
…ways" allowfullscreen="true"></embed></object>
有没有办法让对象,嵌入和参数标签针对HTML5进行验证?
答案 0 :(得分:5)
删除结束标记并用自关闭标记替换它们。
例如
<embed ...></embed>
<embed ... />
答案 1 :(得分:2)
添加Charlies回答,更详细一些:
嵌入是一个空白元素,即它没有内容。因此,它不能在HTML序列化中具有结束标记。
在XHTML序列化中,必须将其关闭。 XML解析器不区分自闭标签和立即(无空格)后跟关闭标签的标签。但后者是多余的,容易出错,因为白色空间很容易在起始标签和结束标签之间滑入。
它可以使用HTML序列化中的自动关闭语法编写,我自己包含的一些作者喜欢将其作为样式约定。但是,它会被解析器忽略。
因此,void元素总是允许自闭语法,但有时是多余的。