function toFullScreen() {
let elem = document.body;
elem.webkitRequestFullScreen ?
elem.webkitRequestFullScreen() :
elem.mozRequestFullScreen ?
elem.mozRequestFullScreen() :
elem.msRequestFullscreen ?
elem.msRequestFullscreen() :
elem.requestFullScreen ?
elem.requestFullScreen() :
alert("浏览器不支持全屏");
}
function exitFullscreen() {
let elem = parent.document;
elem.webkitCancelFullScreen ?
elem.webkitCancelFullScreen() :
elem.mozCancelFullScreen ?
elem.mozCancelFullScreen() :
elem.cancelFullScreen ?
elem.cancelFullScreen() :
elem.msExitFullscreen ?
elem.msExitFullscreen() :
elem.exitFullscreen ?
elem.exitFullscreen() :
alert("切换失败,可尝试Esc退出");
}
https:
getBrowserType() {
let userAgent = navigator.userAgent;
let isOpera = userAgent.indexOf("Opera") > -1;
let isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera;
let isEdge = userAgent.indexOf("Edg") > -1;
let isFF = userAgent.indexOf("Firefox") > -1;
let isSafari = userAgent.indexOf("Safari") > -1 && userAgent.indexOf("Chrome") == -1;
let isChrome = userAgent.indexOf("Chrome") > -1 && userAgent.indexOf("Safari") > -1;
let isIE11 = userAgent.indexOf("Trident/7.0") > -1 && userAgent.indexOf("rv") > -1 && !isIE && !isOpera && !isEdge && !isFF && !isSafari && !isChrome;
if (isIE) {
let reIE = new RegExp("MSIE (\\d+\\.\\d+);");
reIE.test(userAgent);
let fIEVersion = parseFloat(RegExp["$1"]);
if (fIEVersion == 7) {
return "IE7";
} else if (fIEVersion == 8) {
return "IE8";
} else if (fIEVersion == 9) {
return "IE9";
} else if (fIEVersion == 10) {
return "IE10";
} else {
return "IE5不包括5以下"
}
} else if (isIE11) {
return "IE11"
} else if (isOpera) {
return "Opera";
} else if (isEdge) {
return "Edge";
} else if (isFF) {
return "Firefox";
} else if (isSafari) {
return "Safari";
} else if (isChrome) {
return "Chrome";
} else {
return '非主流浏览器,建议更换!'
}
}
function findCorrespondingBrowserFullscreenchange() {
switch (hp.getBrowserType()) {
case 'Chrome':
return {
typeFullscreenchange: 'webkitfullscreenchange',
typeFullScreen: 'webkitIsFullScreen'
}
case 'Edge':
return {
typeFullscreenchange: 'webkitfullscreenchange',
typeFullScreen: 'webkitIsFullScreen'
}
case 'Firefox':
return {
typeFullscreenchange: 'mozfullscreenchange',
typeFullScreen: 'mozFullScreen'
}
case 'IE7':
return {
typeFullscreenchange: 'msfullscreenchange',
typeFullScreen: 'msFullscreenElement'
}
case 'IE8':
return {
typeFullscreenchange: 'msfullscreenchange',
typeFullScreen: 'msFullscreenElement'
}
case 'IE9':
return {
typeFullscreenchange: 'msfullscreenchange',
typeFullScreen: 'msFullscreenElement'
}
case 'IE10':
return {
typeFullscreenchange: 'msfullscreenchange',
typeFullScreen: 'msFullscreenElement'
}
case 'IE11':
return {
typeFullscreenchange: 'msfullscreenchange',
typeFullScreen: 'msFullscreenElement'
}
default:
return {
typeFullscreenchange: 'fullscreenchange',
typeFullScreen: 'fullscreen'
}
}
}
var typeFullscreenchange = findCorrespondingBrowserFullscreenchange().typeFullscreenchange;
var typeFullScreen = findCorrespondingBrowserFullscreenchange().typeFullScreen;
document.querySelector('.btn1').addEventListener('click', function () {
toFullScreen()
}, false)
document.querySelector('.btn2').addEventListener('click', function () {
exitFullscreen()
}, false)
document.addEventListener(typeFullscreenchange, function () {
if (document[typeFullScreen]) {
console.log('进入全屏')
} else {
console.log('退出全屏')
}
}, false);