61 lines
2.3 KiB
JavaScript
61 lines
2.3 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);
|
|
})
|