【问题标题】:Is there any point in using the seamless and or sandbox attribute for YouTube iframes?对 YouTube iframe 使用无缝和/或沙盒属性有什么意义吗?
【发布时间】:2012-04-25 21:35:56
【问题描述】:

更新:这个问题不再有效。请参阅下面的评论。

  1. 如今,YouTube 嵌入是使用 iframe 完成的。
  2. HTML5 引入了seamless 属性,它不仅会影响呈现,还会使与主机页面的集成更加紧密。 (它应该作为单独的文档向屏幕阅读器公布。)
  3. HTML5 引入了sandbox 属性,该属性限制了 iframe,从而提高了安全性。

在浏览器对这两个属性的完全支持的世界中,嵌入 YouTube 视频时,它们是否会受益或以任何方式对页面产生不利影响? (是的,问题的后半部分主要是关于无缝。)

我正在考虑建议我的学生始终将这两个属性用于 YouTube 视频,并在浏览器支持可用时自动受益。

【问题讨论】:

标签: html iframe accessibility usability


【解决方案1】:

我将重点讨论sandbox 属性。

要在沙盒中播放 YouTube 视频,您需要执行以下操作:

  1. 添加sandbox="allow-scripts allow-same-origin"
  2. 在视频网址中添加?html5=1

#1 的一个问题是 Flash 不会被加载;是否需要 Flash 取决于一些因素,例如最终用户的浏览器、他们的 YouTube 设置,或者当视频根本无法作为 HTML5 视频使用时(这会因 #2 而变得更糟)。

#1 的另一个(更严重的)问题是 allow-scriptsallow-same-origin 的组合有效地消除了您本来可以享受的任何安全优势。

结论

忘记使用 sandbox 属性来嵌入 YouTube 视频。

进一步阅读

【讨论】:

  • #1:现在默认使用 HTML5,仍然需要 Flash 的旧浏览器不理解沙盒属性。 #2:它仍然会阻止顶部导航。
  • @GustavoRodrigues 你错过了我关于“视频根本不能作为 HTML5 视频使用”的观点;尽管并非所有安全优势都被消除,但无论哪种方式,它们都非常重要。
  • 好吧,如果即使是最简单的权限 (allow-scripts) 也太有害了,而且我不知道有什么好的网站会在不使用脚本的情况下使用 allow-forms,然后是沙箱 is really a bad idea(但你说得对……我只是想找出 YT 不工作的原因)
  • allow-same-origin 对我来说有点吓人 :)
  • 沙盒属性对于禁用各种 API 仍然很有用。 “allow-same-origin”属性不授予对页面来源的访问权限,它仅授予对 youtube 来源的访问权限。
【解决方案2】:

不,全屏似乎无法同时启用这两个属性,如果您在 HTML5 beta 中,请在此处查看示例: http://bcmoney-mobiletv.com/view/2133/monty-python-tax-sketch/

但是,当我离开 HTML5 测试版程序时,它会在标准的 YouTube Flash 播放器中播放,它会完全忽略那些 iFrame 属性。

所以,这真的取决于你的目标是什么。如果您想要增加安全性和感觉更像是由您的页面控制的页内网络视频的体验,请继续使用这些属性,但是,如果您想为用户提供全方位的控制和选项,请离开关闭沙盒和/或无缝

【讨论】:

  • 谢谢。我会给你赏金。然而,似乎需要进一步调查,我现在没有时间。完成后我会更新这个问题。
  • 我已经开始制作an in depth test 在我的初步测试中,无论任何属性,全屏都不可用。
  • 哇,看起来不错...实际上使用它我只是注意到即使在 HTML5 Beta 中并且不使用“无缝”或“沙盒”时,您也无法全屏打开嵌入式视频,只能打开视频在 YouTube 网站上...所以目前 YouTube 播放器似乎忽略了这些属性。
猜你喜欢
  • 2012-11-04
  • 2011-06-15
  • 1970-01-01
  • 1970-01-01
  • 2013-01-07
  • 1970-01-01
  • 1970-01-01
  • 2022-12-18
  • 2019-02-18
相关资源
最近更新 更多