切换全屏退出

2024-01-01

我有以下由 HTML 中的按钮触发的 javascript:

function toggleFullScreen(){

    if(v.requestFullScreen){
        v.requestFullScreen();
    }
    else if(v.webkitRequestFullScreen){
        v.webkitRequestFullScreen();
    }
    else if(v.mozRequestFullScreen){
        v.mozRequestFullScreen();
    }
}

我如何扩展这个 JS 代码以合并以下功能退出全屏?这方面的最佳实践是什么?


MDN上其实有一个功能齐全的例子:https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Using_full_screen_mode#Toggling_fullscreen_mode https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Using_full_screen_mode#Toggling_fullscreen_mode

Quote:

切换全屏模式

当用户按下 Enter 键时,将调用此代码,如上所示。

function toggleFullScreen() {
  if (!document.fullscreenElement &&    // alternative standard method
      !document.mozFullScreenElement && !document.webkitFullscreenElement && !document.msFullscreenElement ) {  // current working methods
    if (document.documentElement.requestFullscreen) {
      document.documentElement.requestFullscreen();
    } else if (document.documentElement.msRequestFullscreen) {
      document.documentElement.msRequestFullscreen();
    } else if (document.documentElement.mozRequestFullScreen) {
      document.documentElement.mozRequestFullScreen();
    } else if (document.documentElement.webkitRequestFullscreen) {
      document.documentElement.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);
    }
  } else {
    if (document.exitFullscreen) {
      document.exitFullscreen();
    } else if (document.msExitFullscreen) {
      document.msExitFullscreen();
    } else if (document.mozCancelFullScreen) {
      document.mozCancelFullScreen();
    } else if (document.webkitExitFullscreen) {
      document.webkitExitFullscreen();
    }
  }
}

首先查看 fullscreenElement 属性的值 在文档上(检查其前缀为 moz、ms 和 webkit)。 如果为空,则文档当前处于窗口模式,因此我们需要 切换到全屏模式。切换到全屏模式是通过 调用 element.mozRequestFullScreen() msRequestFullscreen() 或 webkitRequestFullscreen(),具体取决于可用的。

如果全屏模式已处于活动状态(fullscreenElement 为非空), 我们调用 document.mozCancelFullScreen()、msExitFullscreen 或 webkitExitFullscreen(),同样取决于所使用的浏览器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

切换全屏退出 的相关文章

随机推荐