[mirotalksfu] - improve toggleFullScreen

هذا الالتزام موجود في:
Miroslav Pejic
2024-08-15 10:27:12 +02:00
الأصل 60d07a773e
التزام 7dbc5b70fd

عرض الملف

@@ -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;
} }
} }
}); });