前端的全屏与退出全屏

前端实现全屏,主要分两种通过b站功能说明:

1.是指定dom元素和当前浏览器窗口大小一致(网页全屏),如

v2-e0861b87cab6843d912d81e92f2c1b43_b.jpg

原理主要是通过设置dom容器的大小实现,此处不做过多阐述。

2.是指定dom元素和当前显示器窗口大小一致(屏幕全屏)

v2-9c6740ed57075468a5016906ccbb7268_b.jpg

实现原理:调用浏览器接口js调用的接口对F11无效

        //退出全屏
function exitFullScreen() {
    var el = document;
    var cfs = el.cancelFullScreen || el.webkitCancelFullScreen ||
        el.mozCancelFullScreen || el.exitFullScreen;
    if (typeof cfs != "undefined" && cfs) {
        cfs.call(el);
    } else if (typeof window.ActiveXObject != "undefined") {
        //for IE,这里和fullScreen相同,模拟按下F11键退出全屏
        var wscript = new ActiveXObject("WScript.Shell");
        if (wscript != null) {
            wscript.SendKeys("{F11}");
        }
    }
}
//全屏
function requestFullScreen() {
    var element = document.getElementsByTagName("body")[0];
    var requestMethod = element.requestFullScreen || element.webkitRequestFullScreen || element.mozRequestFullScreen || element.msRequestFullScreen;
    if (requestMethod) {
        requestMethod.call(element);
    } else if (typeof window.ActiveXObject !== "undefined") {
        var wscript = new ActiveXObject("WScript.Shell");
        if (wscript !== null) {
            wscript.SendKeys("{F11}");
        }
    }
}

//捕捉屏幕变化()
document.addEventListener ("fullscreenchange", FShandler);
document.addEventListener ("webkitfullscreenchange", FShandler);
document.addEventListener ("mozfullscreenchange", FShandler);
document.addEventListener ("MSFullscreenChange", FShandler);
function FShandler() {
    if ($("#fullpage").hasClass("active")) {
        $("#fullpage").removeClass("active").find("p").html("全屏");
        $("#switch-box").find(".bar-item").removeClass("active");
    } else {
        $("#switch-box").find(".bar-item").removeClass("active");
        $("#fullpage").addClass("active").find("p").html("取消<br>全屏");
    }
}

      

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值