如何让YouTube的嵌入代码针对HTML5进行验证?

时间:2009-12-26 11:16:49

标签: flash html5 youtube

在我添加YouTube的嵌入代码之前,我的页面验证了HTML5的免费错误。

# Line 140, Column 132: Stray end tag param.

    …O30JM&amp;hl=en_US&amp;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进行验证?

2 个答案:

答案 0 :(得分:5)

删除结束标记并用自关闭标记替换它们。

例如

<embed ...></embed>

<embed ... />

答案 1 :(得分:2)

添加Charlies回答,更详细一些:

嵌入是一个空白元素,即它没有内容。因此,它不能在HTML序列化中具有结束标记。

在XHTML序列化中,必须将其关闭。 XML解析器不区分自闭标签和立即(无空格)后跟关闭标签的标签。但后者是多余的,容易出错,因为白色空间很容易在起始标签和结束标签之间滑入。

它可以使用HTML序列化中的自动关闭语法编写,我自己包含的一些作者喜欢将其作为样式约定。但是,它会被解析器忽略。

因此,void元素总是允许自闭语法,但有时是多余的。

http://dev.w3.org/html5/markup/syntax.html#syntax-elements