JS使网页全屏

在写前端网页或者做前端小游戏的时候,为了提高用户体验,需要请求网页全屏显示(这点对于手机端的页游很重要),这个需求可以通过JavaScript实现。

我们要实现的效果如下:屏幕内除了网页没有任何其他信息。

我们首先要向浏览器发出请求,由于不同浏览器所提供的请求接口不同,我们把这些请求都罗列上,最终写出这样的一个函数:

    function requestFullScreen(element) {
        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}");
            }
        }
    }

接下来就是调用函数了,你可能想要页面加载进来就是全屏的,接下来你会用

    onload(function () {
        requestFullScreen(document.documentElement)
    })

这是不行的,浏览器一般规定,请求全屏的事件只能由用户发出,即是说用户可以通过点击事件实现全屏,也可以通过其他事件,但唯独onload这种,并非用户给出的事件,浏览器不认为是用户请求。

正确的方法是:

    $('#unlock').click(function () {
       requestFullScreen(document.documentElement);
    })

这样是允许的,至于怎样使网页实现好的效果,你可以在主页面之前加一个登录页面,点击登录实现全屏并移除登陆页。

 

示例代码:

<!DOCTYPE html>
<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<body>
<div style="margin:0 auto;height:600px;width:700px;">
    <button id="btn">js控制页面的全屏展示和退出全屏显示</button>
    <div id="content" style="margin:0 auto;height:500px;width:700px; background:#ccc;" >
        <h1>js控制页面的全屏展示和退出全屏显示</h1>
    </div>
</div>
</body>
<script language="JavaScript">
    document.getElementById("btn").onclick=function(){
        var elem = document.getElementById("content");
        requestFullScreen(elem);
    };
    function requestFullScreen(element) {
        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}");
            }
        }
    }
</script>
</html>

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值