|
@@ -96,12 +96,38 @@ function deleteEmptyObject(arr) {
|
|
|
// 通过F11打开全屏后,没有办法通过代码退出全屏,只能通过F11退出:
|
|
|
// https://stackoverflow.com/questions/51114885/combining-requestfullscreen-and-f11; https://stackoverflow.com/questions/43392583/fullscreen-api-not-working-if-triggered-with-f11/44368592#44368592;
|
|
|
function handleFullscreen() {
|
|
|
- const isFullscreen = window.innerHeight === window.screen.height;
|
|
|
- if (isFullscreen) {
|
|
|
- const p = document.exitFullscreen();
|
|
|
- p.catch(() => alert('按F11即可退出全屏模式'));
|
|
|
+ if (isFullscreen()) {
|
|
|
+ const p = exitFullscreen();
|
|
|
+ if (Object.prototype.toString.call(p) === '[object Promise]') {
|
|
|
+ p.catch(() => alert('按F11即可退出全屏模式'));
|
|
|
+ }
|
|
|
} else {
|
|
|
- document.documentElement.requestFullscreen();
|
|
|
+ fullscreen(document.documentElement);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ function isFullscreen() {
|
|
|
+ return window.innerHeight === window.screen.height;
|
|
|
+ }
|
|
|
+ function fullscreen(ele) {
|
|
|
+ if (ele.requestFullscreen) {
|
|
|
+ ele.requestFullscreen();
|
|
|
+ } else if (ele.mozRequestFullscreen) {
|
|
|
+ ele.mozRequestFullScreen();
|
|
|
+ } else if (ele.webkitRequestFullscreen) {
|
|
|
+ ele.webkitRequestFullscreen();
|
|
|
+ } else if (ele.msRequestFullscreen) {
|
|
|
+ ele.msRequestFullscreen();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ function exitFullscreen() {
|
|
|
+ if(document.exitFullscreen) {
|
|
|
+ return document.exitFullscreen();
|
|
|
+ } else if(document.mozCancelFullscreen) {
|
|
|
+ return document.mozCancelFullscreen();
|
|
|
+ } else if(document.webkitExitFullscreen) {
|
|
|
+ return document.webkitExitFullscreen();
|
|
|
+ } else if(document.msExitFullscreen) {
|
|
|
+ return document.msExitFullscreen();
|
|
|
}
|
|
|
}
|
|
|
|