Files
pear-admin-flask/static/component/pear/module/fullscreen.js
T

66 lines
1.9 KiB
JavaScript

layui.define(["jquery", "element"], function (exports) {
var $ = layui.jquery;
var defer = $.Deferred();
var fullScreen = new (function () {
this.func = null;
this.onFullchange = function (func) {
this.func = func;
var evts = [
"fullscreenchange",
"webkitfullscreenchange",
"mozfullscreenchange",
"MSFullscreenChange",
];
for (var i = 0; i < evts.length && func; i++) {
window.addEventListener(evts[i], this.func);
}
};
this.fullScreen = function (dom) {
var docElm =
(dom && document.querySelector(dom)) || document.documentElement;
if (docElm.requestFullscreen) {
docElm.requestFullscreen();
} else if (docElm.mozRequestFullScreen) {
docElm.mozRequestFullScreen();
} else if (docElm.webkitRequestFullScreen) {
docElm.webkitRequestFullScreen();
} else if (docElm.msRequestFullscreen) {
docElm.msRequestFullscreen();
} else {
defer.reject("");
}
defer.resolve("返回值");
return defer.promise();
};
this.fullClose = function () {
if (this.isFullscreen()) {
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.webkitCancelFullScreen) {
document.webkitCancelFullScreen();
} else if (document.msExitFullscreen) {
document.msExitFullscreen();
}
}
defer.resolve("返回值");
return defer.promise();
};
this.isFullscreen = function () {
return (
document.fullscreenElement ||
document.msFullscreenElement ||
document.mozFullScreenElement ||
document.webkitFullscreenElement ||
false
);
};
})();
exports("fullscreen", fullScreen);
});