2 hubei8722 hubei8722 于 2016.01.14 17:28 提问

js点击某一个链接交替执行两个函数(js实现网页全屏问题)

想实现的需求:
1、网页上有个“全屏显示”按钮(链接),点击全屏后执行函数fullScreen(),然后“显示全屏”二字变成“退出全屏”;
2、点击“退出全屏”执行函数exitFullScreen(),然后“退出全屏”变为“全屏显示”

function fullScreen() {
var el = document.documentElement;
var rfs = el.requestFullScreen || el.webkitRequestFullScreen ||
el.mozRequestFullScreen || el.msRequestFullScreen;
if(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}");
}
}
}
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}");
}
}
}

2个回答

showbo
showbo   Ds   Rxr 2016.01.14 17:52
已采纳
 <a href="#" onclick="return ExecuteFun(this)">全屏显示</a>
<script>
    function ExecuteFun(a) {
        var full = a.innerHTML == '全屏显示';
        full ? fullScreen() : exitFullScreen();
        a.innerHTML = full ? '退出全屏' : '全屏显示';
        return false;
    }
    function fullScreen() {
        var el = document.documentElement;
        var rfs = el.requestFullScreen || el.webkitRequestFullScreen ||
        el.mozRequestFullScreen || el.msRequestFullScreen;
        if (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}");
            }
        }
    }
    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}");
            }
        }
    }
</script>
hubei8722
hubei8722 完美!!
接近 2 年之前 回复
sunyake1212
sunyake1212   2016.01.14 17:52

$(selector).toggle(fullScreen(),exitFullScreen())

sunyake1212
sunyake1212 这个更方便啊
接近 2 年之前 回复
sunyake1212
sunyake1212 这个更方便啊
接近 2 年之前 回复
hubei8722
hubei8722 谢谢
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!