为什么YouTube在iframe中为嵌入式视频添加了type =属性?

时间:2011-01-26 00:02:07

标签: html html5 youtube

访问YouTube时,它会提供嵌入代码,例如

<iframe title="YouTube video player"
class="youtube-player" type="text/html" width="640" height="385"
src="http://www.youtube.com/embed/QRvVzaQ6i8A?rel=0">
</iframe>

请注意

type="text/html"

无效的HTML。 iframe标签没有这样的属性。

任何人都可以解释为什么谷歌会这样做?我想这是出于某种实际原因,但我无法猜到是什么。

PS你可以通过http://www.youtube.com/watch?v=QRvVzaQ6i8A

来获取嵌入代码

3 个答案:

答案 0 :(得分:2)

这不是一个错误,它是HTML5 Youtube Player的嵌入代码。

在验证HTML时,您必须记住HTML5允许内容作者使用非标准元素和属性,文档应该仍然有用。此外,足够流行的非标准标记可以记录下来,并成为HTML5规范的扩展。

答案 1 :(得分:1)

我猜这是谷歌本身的一个错误。我怀疑是个错误。它不是HTML4的一部分,它不是HTML5的一部分。您可以放心地忽略它并将其删除。

关于type属性主题的

type on the object element符合但过时。浏览器从未真正使用它来猜测所服务的URI的内容。

答案 2 :(得分:0)

我知道这是暂时的,但YouTube开发人员提供了一个有用的解释:http://groups.google.com/group/youtube-api-gdata/browse_thread/thread/f492756804cd481a#msg_29fb6e74326f7a5c

简而言之,

  • 'type'和'class'属性现已消失

但是,添加了非标准的frameborder和allowfullscreen属性:

  • 'frameborder =“0”'用于“某些IE版本”(必要时可以用CSS替换?)
  • 'allowfullscreen'适用于“某些Firefox HTML5播放场景”