0

我有一个 HTML 视频,当用户单击播放时会全屏播放。如果用户在全屏范围内点击转义,一切正常 - 视频停止播放并退出全屏。但是,如果用户在全屏内暂停视频,然后点击退出,则视频会再次开始播放,导致视频中的声音在退出全屏时返回的页面上循环播放。我的js控件如下:

exitHandler: function(){
    vid = Video.vid;
    $(Video.featuredVideo).toggleClass('featured-video-show');
    if (document.webkitIsFullScreen || document.mozFullScreen || document.msFullscreenElement !== null){
        if (vid.paused){
            vid.play();
        }
        else {
            vid.pause();
        }
    }
  }

如果用户在全屏内暂停然后点击“退出”以退出全屏,如何阻止视频/音频重新启动?

4

1 回答 1

0

创建一个变量来跟踪您当前(在处理程序执行时)是退出还是进入全屏状态,play如果您确实退出命令,请不要触发该命令。我认为没有特定的事件侦听器,因此您可能必须为此编写一个间隔。当我遇到这个问题时,我使用了以下功能:

var canFullscreen = function(){
  return (
    !document.fullscreenElement &&
    !document.mozFullScreenElement &&
    !document.webkitFullscreenElement &&
    !document.msFullscreenElement );
}

这个函数检查我们当前是否可以进入全屏。如果它返回false,则要么没有全屏功能(旧/奇怪的浏览器),要么您已经处于全屏状态。这是我在间隔中运行的函数,用于准确检查用户何时退出全屏(此时以编程方式处理退出)。如果您改为跟踪 Escape 按钮的按键,则可以将该功能放在那里以确定您是进入还是退出全屏。

于 2016-02-01T20:21:08.067 回答