perf: improve fullscreen detecting order

This commit is contained in:
Chen Fengyuan 2019-01-12 11:07:48 +08:00
parent c71fc85dae
commit 272f13c899
2 changed files with 20 additions and 17 deletions

View File

@ -446,11 +446,12 @@ export default {
}
if (this.played) {
if (this.options.fullscreen && this.fulled
&& !document.fullscreenElement
&& !document.mozFullScreenElement
&& !document.webkitFullscreenElement
&& !document.msFullscreenElement) {
if (this.options.fullscreen && this.fulled && !(
document.fullscreenElement
|| document.webkitFullscreenElement
|| document.mozFullScreenElement
|| document.msFullscreenElement
)) {
this.stop();
return;
}

View File

@ -86,41 +86,43 @@ export default {
if (this.fulled && !(
document.fullscreenElement
|| document.mozFullScreenElement
|| document.webkitFullscreenElement
|| document.mozFullScreenElement
|| document.msFullscreenElement
)) {
const { documentElement } = document;
// Element.requestFullscreen()
if (documentElement.requestFullscreen) {
documentElement.requestFullscreen();
} else if (documentElement.msRequestFullscreen) {
documentElement.msRequestFullscreen();
} else if (documentElement.mozRequestFullScreen) {
documentElement.mozRequestFullScreen();
} else if (documentElement.webkitRequestFullscreen) {
documentElement.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);
} else if (documentElement.mozRequestFullScreen) {
documentElement.mozRequestFullScreen();
} else if (documentElement.msRequestFullscreen) {
documentElement.msRequestFullscreen();
}
}
},
exitFullscreen() {
const document = this.element.ownerDocument;
if (this.fulled && (
document.fullscreenElement
|| document.mozFullScreenElement
|| document.webkitFullscreenElement
|| document.mozFullScreenElement
|| document.msFullscreenElement
)) {
const document = this.element.ownerDocument;
// Document.exitFullscreen()
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.msExitFullscreen) {
document.msExitFullscreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.webkitExitFullscreen) {
document.webkitExitFullscreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.msExitFullscreen) {
document.msExitFullscreen();
}
}
},