mirror of
https://github.com/jellyfin/jellyfin-web.git
synced 2024-11-18 11:28:23 -07:00
60 lines
1.7 KiB
JavaScript
60 lines
1.7 KiB
JavaScript
define(['events', 'dom'], function (events, dom) {
|
|
'use strict';
|
|
|
|
function fullscreenManager() {
|
|
|
|
}
|
|
|
|
fullscreenManager.prototype.requestFullscreen = function (element) {
|
|
|
|
element = element || document.documentElement;
|
|
|
|
if (element.requestFullscreen) {
|
|
element.requestFullscreen();
|
|
} else if (element.mozRequestFullScreen) {
|
|
element.mozRequestFullScreen();
|
|
} else if (element.webkitRequestFullscreen) {
|
|
element.webkitRequestFullscreen();
|
|
} else if (element.msRequestFullscreen) {
|
|
element.msRequestFullscreen();
|
|
}
|
|
};
|
|
|
|
fullscreenManager.prototype.exitFullscreen = function () {
|
|
|
|
if (document.exitFullscreen) {
|
|
document.exitFullscreen();
|
|
} else if (document.mozCancelFullScreen) {
|
|
document.mozCancelFullScreen();
|
|
} else if (document.webkitExitFullscreen) {
|
|
document.webkitExitFullscreen();
|
|
} else if (document.webkitCancelFullscreen) {
|
|
document.webkitCancelFullscreen();
|
|
}
|
|
};
|
|
|
|
fullscreenManager.prototype.isFullScreen = function () {
|
|
|
|
return document.fullscreen || document.mozFullScreen || document.webkitIsFullScreen || document.msFullscreenElement ? true : false;
|
|
};
|
|
|
|
var manager = new fullscreenManager();
|
|
|
|
function onFullScreenChange() {
|
|
events.trigger(manager, 'fullscreenchange');
|
|
}
|
|
|
|
dom.addEventListener(document, 'fullscreenchange', onFullScreenChange, {
|
|
passive: true
|
|
});
|
|
|
|
dom.addEventListener(document, 'webkitfullscreenchange', onFullScreenChange, {
|
|
passive: true
|
|
});
|
|
|
|
dom.addEventListener(document, 'mozfullscreenchange', onFullScreenChange, {
|
|
passive: true
|
|
});
|
|
|
|
return manager;
|
|
}); |