1
0
forked from sent/waves
waves/public/assets/g/weavesilk/js/jquery.fullscreen.js
2025-04-09 17:11:14 -05:00

52 lines
1.4 KiB
JavaScript

(function($) {
function isFullScreen() {
return document[!prefix ? 'fullScreen' :
'webkit' === prefix ? 'webkitIsFullScreen' :
prefix + 'FullScreen'];
}
function cancelFullScreen() {
return document[prefix ? prefix + 'CancelFullScreen'
: 'cancelFullScreen']();
}
var supported = typeof document.cancelFullScreen !== 'undefined'
, prefixes = ['webkit', 'moz', 'o', 'ms', 'khtml']
, prefix = ''
, noop = function() {}
, i
;
if (!supported) {
for (i = 0; prefix = prefixes[i]; i++) {
if (typeof document[prefix + 'CancelFullScreen'] !== 'undefined') {
supported = true;
break;
}
}
}
if (supported) {
$.fn.requestFullscreen = function() {
return this.each(function() {
return this[prefix ? prefix + 'RequestFullScreen'
: 'requestFullScreen']();
});
};
$.fn.fullscreenChange = function(fn) {
var ar = [prefix + 'fullscreenchange'].concat([].slice.call(arguments, 0))
, $e = $(this);
return $e.bind.apply($e, ar);
};
$.Fullscreen =
{ isFullscreen: isFullScreen
, cancelFullscreen: cancelFullScreen
};
}
else {
$.fn.requestFullscreen = $.fn.fullScreenChange = noop;
$.Fullscreen =
{ isFullscreen: function() { return false; }
, cancelFullscreen: noop
};
}
})(jQuery);