1.按F11實現的全屏,用api不能退出;用api實現的全屏,可以用api退出全屏; 所以這裏監聽F11事件並阻止事件, 同時執行自己寫的全屏函數 window.addEventListener('keydown',e => { e = e || window.event if (e.keyCode===122) { e.preventDefault() this.launchFullscreen() } })
2.全屏按鈕則直接執行這個全屏函數 launchFullscreen() { let isFullscreen = document.fullScreen || document.mozFullScreen || document.webkitIsFullScreen; if(!isFullscreen){ if (window.ActiveXObject) { var WsShell = new ActiveXObject('WScript.Shell') WsShell.SendKeys('{F11}'); }else{ let el = document.documentElement let rfs = el.requestFullScreen || el.webkitRequestFullScreen || el.mozRequestFullScreen || el.msRequestFullscreen if (rfs) { // typeof rfs != "undefined" && rfs rfs.call(el) } } }else{ document.exitFullscreen ? document.exitFullscreen() : document.mozCancelFullScreen ? document.mozCancelFullScreen() : document.webkitExitFullscreen ? document.webkitExitFullscreen() : ''; } },