关于html:在YouTube iframe中使用Seamless和Sandbox属性是否有意义?

Is there any point in using the seamless and or sandbox attribute for YouTube iframes?

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

  • 如今,YouTube嵌入是使用iframe完成的。
  • HTML5引入了Seamless属性,该属性不仅会影响显示效果,而且还使与宿主页面的集成更加紧密。 (不应将它作为单独的文档发布给屏幕阅读器。)
  • HTML5引入了sandbox属性,该属性限制了iframe并因此提高了安全性。
  • 在一个浏览器完全支持这两个属性的世界中,嵌入YouTube视频时,它们对页面有好处还是以任何方式产生不利影响? (是的,问题的后半部分主要是关于无缝的。)

    我正在考虑建议我的学生对YouTube视频始终使用这两个属性,并在获得浏览器支持后自动受益。


    我将只讨论sandbox属性。

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

  • 添加sandbox="allow-scripts allow-same-origin"
  • ?html5=1添加到视频URL
  • #1的问题是不会加载Flash;是否需要Flash取决于几件事,例如最终用户的浏览器,他们的YouTube设置,或者什么时候根本无法将视频作为HTML5视频提供(这在#2情况下更糟)。

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

    结论

    忘记使用sandbox属性进行YouTube视频嵌入的情况。

    进一步阅读

    • HTML5沙箱和一些注意事项
    • 在沙盒iframe中播放嵌入式youtube视频时出错


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

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

    因此,这实际上取决于您的目标是什么。如果您想增加安全性,并获得更像页面控制的页面内视频的体验,请继续使用这些属性,但是,如果要为用户提供全方位的控件和选项,请离开关闭沙箱和/或无缝连接。