[mirotalksfu] - improve toggleFullScreen
هذا الالتزام موجود في:
@@ -3277,28 +3277,36 @@ class RoomClient {
|
|||||||
}
|
}
|
||||||
|
|
||||||
toggleFullScreen(elem = null) {
|
toggleFullScreen(elem = null) {
|
||||||
let el = elem ? elem : document.documentElement;
|
const element = elem ? elem : document.documentElement;
|
||||||
document.fullscreenEnabled =
|
const fullScreen = this.isFullScreen();
|
||||||
document.fullscreenEnabled ||
|
fullScreen ? this.goOutFullscreen(element) : this.goInFullscreen(element);
|
||||||
document.webkitFullscreenEnabled ||
|
if (elem === null) this.isVideoOnFullScreen = fullScreen;
|
||||||
document.mozFullScreenEnabled ||
|
}
|
||||||
document.msFullscreenEnabled;
|
|
||||||
document.exitFullscreen =
|
isFullScreen() {
|
||||||
document.exitFullscreen ||
|
const elementFullScreen =
|
||||||
document.webkitExitFullscreen ||
|
|
||||||
document.mozCancelFullScreen ||
|
|
||||||
document.msExitFullscreen;
|
|
||||||
el.requestFullscreen =
|
|
||||||
el.requestFullscreen || el.webkitRequestFullscreen || el.mozRequestFullScreen || el.msRequestFullScreen;
|
|
||||||
if (document.fullscreenEnabled) {
|
|
||||||
document.fullscreenElement ||
|
document.fullscreenElement ||
|
||||||
document.webkitFullscreenElement ||
|
document.webkitFullscreenElement ||
|
||||||
document.mozFullScreenElement ||
|
document.mozFullScreenElement ||
|
||||||
document.msFullscreenElement
|
document.msFullscreenElement ||
|
||||||
? document.exitFullscreen()
|
null;
|
||||||
: el.requestFullscreen();
|
if (elementFullScreen === null) return false;
|
||||||
}
|
return true;
|
||||||
if (elem == null) this.isVideoOnFullScreen = document.fullscreenEnabled;
|
}
|
||||||
|
|
||||||
|
goInFullscreen(element) {
|
||||||
|
if (element.requestFullscreen) element.requestFullscreen();
|
||||||
|
else if (element.mozRequestFullScreen) element.mozRequestFullScreen();
|
||||||
|
else if (element.webkitRequestFullscreen) element.webkitRequestFullscreen();
|
||||||
|
else if (element.msRequestFullscreen) element.msRequestFullscreen();
|
||||||
|
else this.userLog('warning', 'Full screen mode not supported by this browser on this device', 'top-end');
|
||||||
|
}
|
||||||
|
|
||||||
|
goOutFullscreen(element) {
|
||||||
|
if (element.exitFullscreen) element.exitFullscreen();
|
||||||
|
else if (element.mozCancelFullScreen) element.mozCancelFullScreen();
|
||||||
|
else if (element.webkitExitFullscreen) element.webkitExitFullscreen();
|
||||||
|
else if (element.msExitFullscreen) element.msExitFullscreen();
|
||||||
}
|
}
|
||||||
|
|
||||||
handleFS(elemId, fsId) {
|
handleFS(elemId, fsId) {
|
||||||
@@ -3312,7 +3320,6 @@ class RoomClient {
|
|||||||
}
|
}
|
||||||
videoPlayer.style.pointerEvents = this.isVideoOnFullScreen ? 'auto' : 'none';
|
videoPlayer.style.pointerEvents = this.isVideoOnFullScreen ? 'auto' : 'none';
|
||||||
this.toggleFullScreen(videoPlayer);
|
this.toggleFullScreen(videoPlayer);
|
||||||
this.isVideoOnFullScreen = this.isVideoOnFullScreen ? false : true;
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
if (videoPlayer) {
|
if (videoPlayer) {
|
||||||
@@ -3324,7 +3331,6 @@ class RoomClient {
|
|||||||
if ((this.isMobileDevice && this.isVideoOnFullScreen) || !this.isMobileDevice) {
|
if ((this.isMobileDevice && this.isVideoOnFullScreen) || !this.isMobileDevice) {
|
||||||
videoPlayer.style.pointerEvents = this.isVideoOnFullScreen ? 'auto' : 'none';
|
videoPlayer.style.pointerEvents = this.isVideoOnFullScreen ? 'auto' : 'none';
|
||||||
this.toggleFullScreen(videoPlayer);
|
this.toggleFullScreen(videoPlayer);
|
||||||
this.isVideoOnFullScreen = this.isVideoOnFullScreen ? false : true;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
المرجع في مشكلة جديدة
حظر مستخدم