js实现浏览器全屏、退出全屏

浏览器全屏再后台管理界面中是一个最为常见的小功能,全屏状态下的浏览器界面可以将现有的展示面积扩大。那么在前端代码中我们要如何使用js来实现浏览器的全屏和退出全屏效果呢?

代码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="http://code.jquery.com/jquery-2.1.1.min.js"></script>
</head>
<style>
a {
font-weight: bold;
}
</style>
<body>
<button id="aa" type="button">展开全屏</button>
<button id="bb" type="button">退出全屏</button>
<script>

$("#aa").click(function(){
var el = document.documentElement;
var rfs = el.requestFullScreen || el.webkitRequestFullScreen ||
el.mozRequestFullScreen || el.msRequestFullScreen;
if (rfs) { //typeof rfs != "undefined" && rfs
rfs.call(el);
} else if (typeof window.ActiveXObject != "undefined") {
//for IE,这里其实就是模拟了按下键盘的F11,使浏览器全屏
var wscript = new ActiveXObject("WScript.Shell");
if (wscript != null) {
wscript.SendKeys("{F11}");
}
}
})
$("#bb").click(function(){
var el = document;
var cfs = el.cancelFullScreen || el.webkitCancelFullScreen ||
el.mozCancelFullScreen || el.exitFullScreen;
if (cfs) { //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}");
}
}
})
</script>
</body>
</html>

注:亲测代码有效、正常

提问:也许会有人问,我要如何检测当前浏览器是否属于全屏,这样我就可以把展开全屏效果和取消全屏效果整合到一个按钮上。

答:经测试发现检测浏览器是否属于全屏,再浏览有滚动条的情况下并不能被监听到是否属于全屏。这也就是说,现有的代码并不能完整的检测到所有的情况。这里也是我并没有把检测浏览器是否属于全屏的代码加入的原因。

看到这里,你也许会说。但我就是要这么一个效果检测浏览器是否属于全屏,既把按钮整合再一起。

按照我的思路提供一个折中的意见供大家参考:申明一个初始化的状态来记录当前屏幕的状态,每次点击就去改变初始化的值。这样你就可以根据你的值来调用对应的执行操作。


六月初字帖坊小程序 你想要的字帖模板及工具,这里都有!