Is there any point in using the seamless and or sandbox attribute for YouTube iframes?
更新:此问题不再有效。请参阅下面的评论。
如今,YouTube嵌入是使用iframe完成的。
HTML5引入了Seamless属性,该属性不仅会影响显示效果,而且还使与宿主页面的集成更加紧密。 (不应将它作为单独的文档发布给屏幕阅读器。)
HTML5引入了sandbox属性,该属性限制了iframe并因此提高了安全性。
在一个浏览器完全支持这两个属性的世界中,嵌入YouTube视频时,它们对页面有好处还是以任何方式产生不利影响? (是的,问题的后半部分主要是关于无缝的。)
我正在考虑建议我的学生对YouTube视频始终使用这两个属性,并在获得浏览器支持后自动受益。
- 我将具体说明一个子问题:在沙盒iframe中播放的电影是否可以全屏显示?我认为文档不明确。
-
我将添加一个指向Bugzilla @ Mozilla的链接以供参考:bugzilla.mozilla.org/show_bug.cgi?id=341604
-
Mozilla沙箱实现说明:wiki.mozilla.org/Features/Platform/Iframe_Sandbox
-
尚有链接:有关iframe无缝属性的Webkit错误
-
Seamless属性不再存在。参见stackoverflow.com/questions/4804604/…
我将只讨论sandbox属性。
要在沙盒中播放YouTube视频,您需要执行以下操作:
添加sandbox="allow-scripts allow-same-origin"
将?html5=1添加到视频URL
#1的问题是不会加载Flash;是否需要Flash取决于几件事,例如最终用户的浏览器,他们的YouTube设置,或者什么时候根本无法将视频作为HTML5视频提供(这在#2情况下更糟)。
#1的另一个(更严重的)问题是allow-scripts和allow-same-origin的组合有效地消除了您原本会享受的任何安全益处。
结论
忘记使用sandbox属性进行YouTube视频嵌入的情况。
进一步阅读
-
HTML5沙箱和一些注意事项
-
在沙盒iframe中播放嵌入式youtube视频时出错
-
#1:默认情况下现在使用HTML5,仍然需要使用Flash的旧版浏览器无法理解沙盒属性。 #2:它仍然阻止顶部导航。
-
@GustavoRodrigues您错过了我的观点:"一个视频根本无法作为HTML5视频提供";尽管并未消除所有安全性优点,但无论哪种方式,它们都是非常重要的。
-
好吧,即使最简单的权限(allow-scripts)太有害,并且我不知道任何不使用脚本就可以使用allow-forms的优质网站,那么沙盒确实是一个坏主意。 (但是您是对的...我只是来这里试图找出YT无法正常工作的原因)。
-
allow-same-origin令我有些害怕:)
否,全屏似乎无法同时启用这两个属性,如果您在HTML5测试版中,请在此处查看示例:
http://bcmoney-mobiletv.com/view/2133/monty-python-tax-sketch/
但是,当我离开HTML5 beta程序时,它将在标准的YouTube Flash播放器中播放,该播放器会完全忽略这些iFrame属性。
因此,这实际上取决于您的目标是什么。如果您想增加安全性,并获得更像页面控制的页面内视频的体验,请继续使用这些属性,但是,如果要为用户提供全方位的控件和选项,请离开关闭沙箱和/或无缝连接。
- 谢谢。我会给你赏金的。但是,似乎需要进一步调查,我现在没有时间。完成后,我将更新此问题。
-
我已经开始进行深度测试在我的初步测试中,无论任何属性,都无法使用全屏显示。
-
哇,看起来不错。。。实际上我只是注意到,即使在HTML5 Beta中并且不使用"无缝"或"沙盒",您也无法全屏打开嵌入式视频,只能打开YouTube网站上的视频... YouTube播放器目前似乎忽略了这些属性。