javascript - 我怎样才能让这个 HTML5 全屏功能也能在 Firefox 中运行?

标签 javascript jquery html cross-browser

我想要一个使用 HTML5 全屏 API 触发全屏模式的按钮。我按照网络上的一些示例获取了下面的代码,但由于特定于 webkit 的前缀,它仅适用于 Safari/Chrome。我想使用 moz 前缀(以及标准的 HTML5 前缀)也可以在 Firefox 中使用它,但我不确定该怎么做。有什么建议吗?

HTML:

<div id="viewer">
     <a href="#" class="fullscreen">Exit/enter fullscreen mode</a>
</div>

JS:

$('.fullscreen').on('click', function(){
     var elem = document.getElementById('viewer');
     if (document.webkitFullscreenElement) {
          document.webkitCancelFullScreen();
     } else {
          elem.webkitRequestFullScreen();
     };
});

最佳答案

你可以尝试这样的事情:

var cancelFullScreen = document.cancelFullScreen 
  || document.webkitCancelFullScreen
  || document.mozCancelFullScreen 
  || document.msCancelFullScreen;

var requestFullScreen = document.requestFullScreen 
  || document.webkitRequestFullScreen
  || document.mozRequestFullScreen 
  || document.msRequestFullScreen;

$('.fullscreen').on('click', function(){
  var elem = document.getElementById('viewer');
  var fullscreenElement = document.fullscreenElement 
    || document.webkitFullscreenElement
    || document.mozFullscreenElement 
    || document.msFullscreenElement;

  if (fullscreenElement) {
    cancelFullScreen.call(document);
  } else {
    requestFullScreen.call(document);
  };
});

关于javascript - 我怎样才能让这个 HTML5 全屏功能也能在 Firefox 中运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20326489/

相关文章:

html - 在 Word 2007 编写的文档中哪里可以找到 HTML 源代码?

javascript - RxJS filter() 意外行为

javascript - jQuery 移动触摸事件处理、this 关键字上下文以及正确使用闭包

javascript - 如何访问处理不同输入的数据属性?

javascript - 如何在第一个 `/` (斜杠)处拆分字符串并将其部分包围在 `<span>` 中?

JQuery - 复选框不检查(视觉上)

javascript - 列表项将自动进入第二列,容器空间也会增加

javascript - 什么是创建 JavaScript 类的正确、现代和跨浏览器安全的方法?

用于匹配 5 位或 9 位邮政编码的 Javascript 正则表达式

javascript - 发生Redux状态更改时,组件不会更新