javascript – HTML5退出视频全屏

我有一个 HTML5视频与普通屏幕中的自定义控件.
没有全屏幕的自定义控件.
我只是全屏显示认控件.
但是当退出全屏幕时,我需要禁用认控件.
我们如何知道视频是否已经使用 JavaScript或jQuery退出全屏模式?

解决方法

您只能在document.mozCancelFullScreen()中调用,如果您位于全屏文档中.也就是说,如果你是一个包含在另一个文档中的全屏幕,那么mozCancelFullScreen()将不会在内部iframe中执行任何操作,因为只有外部文档是全屏幕的.即在外部文档中调用mozCancelFullScreen将取消全屏,但是在内部文档中调用它将不会.

还要注意,mozCancelFullScreen()将全屏复原,将以前的全屏元素全屏显示.所以如果你多次请求全屏,取消全屏将不一定完全退出全屏幕,它可能会回滚到以前的全屏状态.

例子:

你可以去:

$(document).on('webkitExitFullScreen',function()      {       
  alert("Full Screen Closed"); 
});

你可以使用一个变量进一步的用法

var exitedFullScreen;
$(document).on("webkitExitFullScreen",function() {
   exitedFullScreen = !!$(document).fullScreen();
}

3.将其应用于容器:

$('video')[0].webkitExitFullScreen();

4.仅使用JavaScript:

<script type="text/javascript">
  function ExitVideo() {
      document.getElementsByTagName('video')[0].webkitExitFullScreen();
  }
</script>

还有几个第三方插件可以让您访问所需的事件:

> http://johndyer.name/native-fullscreen-javascript-api-plus-jquery-plugin/
> https://github.com/ruidlopes/jquery-fullscreen

编辑1

浏览器之间存在兼容性问题,以下是不同语句的示例:

document.webkitExitFullscreen();
document.mozCancelFullscreen();
document.exitFullscreen();

编辑2

全屏API在Chrome 15,Firefox 14和Opera 12中认启用.有关其余API的更多信息,请参阅规范.

Updated 2012-10-11: to be inline with spec changes. Lowercased the “S”
in requestFullscreen() and changed document.webkitCancelFullScreen()
to document.webkitExitFullscreen().

编辑3

尝试以下操作,而不使用jQuery在Firefox中进行调试:

var videoElement = document.getElementById("myvideo");

  function toggleFullScreen() {
    if (!document.mozFullScreen && !document.webkitFullScreen) {
      if (videoElement.mozRequestFullScreen) {
        videoElement.mozRequestFullScreen();
      } else {
        videoElement.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT);
      }
    } else {
      if (document.mozCancelFullScreen) {
        document.mozCancelFullScreen();
      } else {
        document.webkitCancelFullScreen();
      }
    }
  }

  document.addEventListener("keydown",function(e) {
    if (e.keyCode == 13) {
      toggleFullScreen();
    }
  },false);

编辑4

要在Firefox中使用jQuery,请尝试不同的示例:

if (document.mozCancelFullScreen) { 
    alert('Full Screen Closed') 
}

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...