1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
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);
|