66 lines
1.9 KiB
JavaScript
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);
|
|
});
|