screenfull.js監(jiān)控全屏狀態(tài),但是試了一下,isFullscreen的狀態(tài)在全屏之后是true,ESC退出全屏之后狀態(tài)沒有改變,于是上網(wǎng)搜了一下,大多是讓window.onresize 監(jiān)聽全屏狀態(tài):
window.onresize = () => {
// 全屏下監(jiān)控是否按鍵了ESC
if (!this.checkFull()) {
// 全屏下按鍵esc后要執(zhí)行的動作
this.isFullscreen = false;
}
}
}
checkFull() {
var isFull = document.fullscreenEnabled || window.fullScreen || document.webkitIsFullScreen || document.msFullscreenEnabled;
// to fix : false || undefined == undefined
if (isFull === undefined) {
isFull = false;
}
return isFull;
}
實際上screenfull有個onchange事件,在這里維護(hù)全屏狀態(tài)就行了:
mounted () {
screenfull && screenfull.isEnabled && screenfull.onchange(() => {
this.isFullscreen = !this.isFullscreen;
})
},
特此記錄