summaryrefslogtreecommitdiff
path: root/hugo/js/jquery/jquery.fullscreen.js
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--hugo/js/jquery/jquery.fullscreen.js60
1 files changed, 60 insertions, 0 deletions
diff --git a/hugo/js/jquery/jquery.fullscreen.js b/hugo/js/jquery/jquery.fullscreen.js
new file mode 100644
index 0000000..248e8ff
--- /dev/null
+++ b/hugo/js/jquery/jquery.fullscreen.js
@@ -0,0 +1,60 @@
+// jQuery.FullScreen plugin
+
+// Triple-licensed: Public Domain, MIT and WTFPL license - share and enjoy!
+
+(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
+ , prefix: prefix
+ , supported: supported
+ };
+ }
+ else {
+ $.fn.requestFullScreen = $.fn.fullScreenChange = noop;
+ $.FullScreen =
+ { isFullScreen: function() { return false; }
+ , cancelFullScreen: noop
+ , prefix: prefix
+ , supported: supported
+ };
+ }
+})(jQuery);