嵌入的YouTube代码无法验证

时间:2010-09-20 19:57:56

标签: html validation youtube

虽然验证我对某些人来说不是一个大问题,但我个人希望我的页面尽可能验证,因为我认为编译/浏览器/阅读代码的人是否理解是一个很好的习惯。

无论如何,我正在为一个客户建立一个网站,要求将他们的YouTube视频嵌入到页面中。很简单,我从YouTube中获取代码并将其放入页面中。它当然有效,但该页面现在不能仅仅因为YouTube生成的代码而在XHTML 1.0 Strict下验证。

未验证的部分是嵌入部分,并且在Chrome中没有此行的情况下工作正常,但在Firefox / IE中中断。如果它只是IE浏览器,我只是耸耸肩,因为IE通常是可怕的,但正如Firefox正在做的那样我也想知道如何处理这种情况。我可以根据浏览器动态输入内容,因此验证,但这似乎很草率。

我是否正在打一场失败的战斗,应该忽略这个页面因为这个片段而无法验证的事实?

不是实际视频,只是示例代码

<object width="480" height="385">
<param name="movie" value="http://www.youtube.com/v/oHg5SJYRHA0?fs=1&amp;hl=en_US"></param><param name="allowFullScreen" value="true"></param>
<param name="allowscriptaccess" value="always"></param>
<embed src="http://www.youtube.com/v/oHg5SJYRHA0?fs=1&amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed>
</object>

4 个答案:

答案 0 :(得分:3)

<object type="application/x-shockwave-flash"
    data="http://www.youtube.com/v/oHg5SJYRHA0?fs=1&amp;hl=en_US"
    width="480" height="385">
  <param name="movie"
      value="http://www.youtube.com/v/oHg5SJYRHA0?fs=1&amp;hl=en_US"/>
  <param name="allowFullScreen" value="true"/>
  <param name="allowscriptaccess" value="always"/>
</object>

这应该适用于IE,Firefox,Opera,Safari和Chrome。

data的{​​{1}}属性和<object>参数必须同时存在且必须具有相同的值。

在IE中,这可以防止SWF流式传输,例如,呈现预加载器,但这应该不是YouTube的问题。

有关更多内容以及针对最后一个问题的修复,请参阅Flash Satay: Embedding Flash While Supporting Standards

答案 1 :(得分:0)

我认为如果你使用swfobject,你可以让它验证。

http://code.google.com/p/swfobject/

答案 2 :(得分:0)

<embed>标记是HTML5的新标记,您使用的验证程序很可能并非完全是最新的。在XHTML 1.0 strict中,所有代码都应该非常好。

答案 3 :(得分:0)

我担心上述答案仍会导致验证失败W3C。这是一个适用于xhtml strict的解决方案;

<object type="application/x-shockwave-flash" data="https://www.youtube.com/v/YourVideoID" width="100%" height="100%"></object>