JavaScript使网页全屏显示

在写前端网页或者做前端小游戏的时候,为了提高用户体验,需要请求网页全屏显示(这点对于手机端的页游很重要),这个需求可以通过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>

猜你喜欢

转载自blog.csdn.net/scaped/article/details/80297743