前提: iframe嵌套页面
一.判断是否全屏
/**
* [isFullscreen 判断浏览器是否全屏]
* @return [全屏则返回当前调用全屏的元素,不全屏返回false]
*/
function isFullscreen(){
let doc = window.top ? window.top.document :document
return doc.fullscreenElement ||
doc.msFullscreenElement ||
doc.mozFullScreenElement ||
doc.webkitFullscreenElement || false;
}
window.top :返回最顶层的窗口对象
window.top.document : 返回最顶层的窗口对象的document对象
二.设置全屏
/**
* [setFullscreen 设置全屏]
* @param {domElement} el[DOM节点对象(可选)]
*/
function setFullscreen() {
let el = window.top ? window.top.document.documentElement : document.documentElement;
let rfs = el.requestFullScreen || el.webkitRequestFullScreen || el.mozRequestFullScreen || el.msRequestFullscreen;
try {
if (typeof rfs !== "undefined" && rfs) {
rfs.call(el);
}} catch ( e ) {
console.log(e);
}
return;
}
三.退出全屏
function exitScreen () {
let el = window.top ? window.top.document : document;
if (el.exitFullscreen) {
el.exitFullscreen();
}
else if (el.mozCancelFullScreen) {
el.mozCancelFullScreen();
}
else if (el.webkitCancelFullScreen) {
el.webkitCancelFullScreen();
}
else if (el.msExitFullscreen) {
el.msExitFullscreen();
}
};