如果设备方向更改为横向,则将嵌入的 youtube 视频转换为全屏模式



我正在开发一个AngularJS应用程序,我正在嵌入一个YT API的youtube视频。

如果用户将设备旋转到横向模式而没有运气,我想全屏播放视频:(

我的侦听器示例代码:

var supportsOrientationChange = "onorientationchange" in window,
    orientationEvent = supportsOrientationChange ? "orientationchange" : "resize";     
window.addEventListener(orientationEvent, function() {
    alert("Event captured!!");
    var el = document.getElementById('youtube_player');
    if (el.requestFullscreen) {
        el.requestFullscreen();
    } else if (el.mozRequestFullscreen) {
        el.mozRequestFullscreen();
    } else if (el.webkitRequestFullscreen) {
        el.webkitRequestFullScreen();
    }
 }, false);

有人知道用于捕获此类事件的事件是否有任何限制吗?

相同的代码,但将侦听器附加到按钮(使用 touchstart 事件)完成了工作!

谢谢!

你的假设是正确的。进入全屏模式的请求必须由用户启动。单击按钮被视为用户启动,但更改设备的方向则不是。如果为"全屏错误"添加事件侦听器(以及供应商前缀的变体),您将看到对requestFullscreen()的调用正在触发全屏错误。

此外,从IE11开始,Internet Explorer现在支持全屏API。在使用全屏 API 时,还应添加对 msRequestFullscreen 的调用。有关详细信息,请参阅 MSDN 文档:

http://msdn.microsoft.com/en-us/library/ie/dn265028(v=vs.85).aspx

披露:我是致力于Microsoft实现全屏API的团队的一员。

最新更新