页面指定区域全屏和退出全屏并触发对应事件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了页面指定区域全屏和退出全屏并触发对应事件相关的知识,希望对你有一定的参考价值。

参考技术A

页面全屏和退出全屏是我们工作中经常遇到的问题,以前遇到都是直接到网上 copy 一份直接使用,知道最近遇到一个需要监听全屏后按 ESC 键退出全屏问题。所以重新梳理了下相关事件做个总结。

这次的需求和以往简单的页面全屏有一些区别

注意 :调用全屏方法的对象可以是任意一个 dom 元素,我这里的 el 可以是 document ,同时也可以是通过 document.querySelector 获取的任意 dom 。如果是 document ,就是当前页面全屏。否则就是获取的指定 dom 的区域全屏。

浏览器在进入全屏或者退出全屏时会触发对应的方法

这个对象如果为 true 则表示当前页面处于全屏状态下,反正则不是。

好了,以上就是我对页面全屏这个需求的全部总结了。如果喜欢,请给我点个赞❤️。

js之切换全屏和退出全屏实现

应用场景:
比如很多网页游戏全屏之类的,或者是网上看小说等。

核心代码:

//控制全屏
function enterfullscreen()  //进入全屏
    $("#fullscreen").html("退出全屏");
    var docElm = document.documentElement;
    //W3C
    if(docElm.requestFullscreen) 
        docElm.requestFullscreen();
    
    //FireFox
    else if(docElm.mozRequestFullScreen) 
        docElm.mozRequestFullScreen();
    
    //Chrome等
    else if(docElm.webkitRequestFullScreen) 
        docElm.webkitRequestFullScreen();
    
    //IE11
    else if(elem.msRequestFullscreen) 
        elem.msRequestFullscreen();
    


function exitfullscreen()  //退出全屏
    $("#fullscreen").html("切换全屏");
    if(document.exitFullscreen) 
        document.exitFullscreen();
     else if(document.mozCancelFullScreen) 
        document.mozCancelFullScreen();
     else if(document.webkitCancelFullScreen) 
        document.webkitCancelFullScreen();
     else if(document.msExitFullscreen) 
        document.msExitFullscreen();
    


var a = 0;
$(#fullscreen).on(click, function() 
    a++;
    a % 2 == 1 ? enterfullscreen() : exitfullscreen();
)

前端代码:

<a type="button" id="fullscreen" class="btn btn-default visible-lg visible-md"><i class="fa fa-refresh" aria-hidden="true"></i> 切换全屏</a>

 

以上是关于页面指定区域全屏和退出全屏并触发对应事件的主要内容,如果未能解决你的问题,请参考以下文章

进入页面全屏和退出全屏代码

vue中实现页面全屏和指定元素全屏

vue中实现页面全屏和指定元素全屏

我用html5的video标签做的视频页面,在iphone上测试的时候视频都是全屏的,怎么才能不全屏?

vue中实现浏览器全屏与退出全屏功能

即使我指定了全屏,也安全区域