3

我和我认识的一个人进行了长时间的讨论。他坚持使用 iframe 嵌入 YouTube 视频:

<iframe style=”width: 560px; height: 315px; border: none;” src=”http://www.youtube.com/embed/bla-bla-bla?rel=0″&gt;</iframe>

这确实适用于某些视频,但不适用于所有视频。

Youtube 提供以下代码嵌入:

<iframe src="http://www.youtube.com/embed/bla-bla-bla?rel=0" height="315" width="560" allowfullscreen="" frameborder="0"></iframe>

这显然工作正常。

我试图在规范中找到是否iframe需要。如果不提供它们会发生什么。但是找不到资料。widthheight

有人可以帮助我并解释为什么第一个变体并不总是有效,而且据我所知,第二个变体更好?

编辑1:

所以正确答案如下。我只是想评论一下我是如何得到那些错误的卷曲符号的。一个基于 WordPress 的网站的指南为用户提供了这些代码片段。那个特定的网站(或者它的 css;或一般的 wordpress)不区分弯引号和直引号,总是显示卷曲。因此,当用户复制粘贴代码时 - 它不起作用。

4

2 回答 2

2

根据我们在评论中的讨论,问题是由第一个示例中的花引号引起的:

<iframe style=”width: 560px; height: 315px; border: none;”
    src=”http://www.youtube.com/embed/bla-bla-bla?rel=0″&gt;</iframe>

更改为直引号修复了它:

<iframe style="width: 560px; height: 315px; border: none;"
    src="http://www.youtube.com/embed/bla-bla-bla?rel=0"></iframe>

使用W3C 验证服务验证您的 HTML 很有帮助。这将捕获此错误和许多其他错误。

于 2013-06-08T17:43:40.460 回答
1

我的猜测是 youtube 使用 window.frameElement 访问高度和宽度属性

https://developer.mozilla.org/en-US/docs/Web/API/window.frameElement

他们可能这样做是为了调整视频质量或其他东西。

如果您使用 css 设置宽度和高度,这些将不存在,并且它们可能会在代码中遇到错误并且不显示视频。

所以答案是,没有那些属性不是必需的,但是在这种情况下它们似乎是必需的。

如果你有一个例子,我只能肯定地告诉你。

于 2013-06-08T17:19:28.083 回答