使用oembed获取Youtube的嵌入代码时,我得到了这个HTML:
<iframe allowfullscreen="" frameborder="0" gesture="media" height="270" src="https://www.youtube.com/embed/4B36Lr0Unp4?feature=oembed" width="480"></iframe>
您是否注意到gesture="media"
HTML属性?它是什么? "media"
值的作用是什么?
答案 0 :(得分:3)
这是一个非标准(或尚未标准)的东西,到目前为止仅用于Chrome中的媒体自动播放。
请参阅https://developers.google.com/web/updates/2017/09/autoplay-policy-changes#iframe:
iframe委派
一旦来源获得了自动播放权限,它就可以通过新的HTML属性将该权限委托给iframe。查看Gesture Delegation API proposal了解详情。
<iframe src="myvideo.html" gesture="media">
如果没有iframe委托,视频将无法自动播放声音。
另见https://www.chromium.org/audio-video/autoplay:
默认情况下,嵌入式IFrame只能播放静音或静音视频。但是,如果网站所有者希望其网站上的IFrame能够播放取消静音内容,则他们可以通过gesture=media属性将自动播放权限传递给IFrame。此属性允许IFrame中包含的任何视频像在网站上托管一样播放。
这些内容都引用了https://github.com/WICG/gesture-delegation/blob/master/explainer.md,但该文档的作者称gesture
名称只是作为“占位符”而且Chrome Intent to Ship将很快以真实名称发布HTML标记属性为delegatestickyuseractivation
。所以你需要这样做:
<iframe src="myvideo.html" delegatestickyuseractivation="media">
答案 1 :(得分:1)
媒体 - 在媒体播放的上下文中将用户激活委托给iframe(即自动播放)。
更多https://github.com/WICG/gesture-delegation/blob/master/explainer.md