PageSourceSearch

https://hdtvpolska.com/wp-content/plugins/cactus-ads/js/screenfull.js

js hdtvpolska.com collected 2026-09-24 22:06:56 UTC 2,934 bytes, 140 lines download raw bytes

1(function () {
2	'use strict';
3
4	var isCommonjs = typeof module !== 'undefined' && module.exports;
5	var keyboardAllowed = typeof Element !== 'undefined' && 'ALLOW_KEYBOARD_INPUT' in Element;
6
7	var fn = (function () {
8		var val;
9		var valLength;
10
11		var fnMap = [
12			[
13				'requestFullscreen',
14				'exitFullscreen',
15				'fullscreenElement',
16				'fullscreenEnabled',
17				'fullscreenchange',
18				'fullscreenerror'
19			],
20			// new WebKit
21			[
22				'webkitRequestFullscreen',
23				'webkitExitFullscreen',
24				'webkitFullscreenElement',
25				'webkitFullscreenEnabled',
26				'webkitfullscreenchange',
27				'webkitfullscreenerror'
28
29			],
30			// old WebKit (Safari 5.1)
31			[
32				'webkitRequestFullScreen',
33				'webkitCancelFullScreen',
34				'webkitCurrentFullScreenElement',
35				'webkitCancelFullScreen',
36				'webkitfullscreenchange',
37				'webkitfullscreenerror'
38
39			],
40			[
41				'mozRequestFullScreen',
42				'mozCancelFullScreen',
43				'mozFullScreenElement',
44				'mozFullScreenEnabled',
45				'mozfullscreenchange',
46				'mozfullscreenerror'
47			],
48			[
49				'msRequestFullscreen',
50				'msExitFullscreen',
51				'msFullscreenElement',
52				'msFullscreenEnabled',
53				'MSFullscreenChange',
54				'MSFullscreenError'
55			]
56		];
57
58		var i = 0;
59		var l = fnMap.length;
60		var ret = {};
61
62		for (; i < l; i++) {
63			val = fnMap[i];
64			if (val && val[1] in document) {
65				for (i = 0, valLength = val.length; i < valLength; i++) {
66					ret[fnMap[0][i]] = val[i];
67				}
68				return ret;
69			}
70		}
71
72		return false;
73	})();
74
75	var screenfull = {
76		request: function (elem) {
77			var request = fn.requestFullscreen;
78
79			elem = elem || document.documentElement;
80
81			// Work around Safari 5.1 bug: reports support for
82			// keyboard in fullscreen even though it doesn't.
83			// Browser sniffing, since the alternative with
84			// setTimeout is even worse.
85			if (/5\.1[\.\d]* Safari/.test(navigator.userAgent)) {
86				elem[request]();
87			} else {
88				elem[request](keyboardAllowed && Element.ALLOW_KEYBOARD_INPUT);
89			}
90		},
91		exit: function () {
92			document[fn.exitFullscreen]();
93		},
94		toggle: function (elem) {
95			if (this.isFullscreen) {
96				this.exit();
97			} else {
98				this.request(elem);
99			}
100		},
101		raw: fn
102	};
103
104	if (!fn) {
105		if (isCommonjs) {
106			module.exports = false;
107		} else {
108			window.screenfull = false;
109		}
110
111		return;
112	}
113
114	Object.defineProperties(screenfull, {
115		isFullscreen: {
116			get: function () {
117				return !!document[fn.fullscreenElement];
118			}
119		},
120		element: {
121			enumerable: true,
122			get: function () {
123				return document[fn.fullscreenElement];
124			}
125		},
126		enabled: {
127			enumerable: true,
128			get: function () {
129				// Coerce to boolean in case of old WebKit
130				return !!document[fn.fullscreenEnabled];
131			}
132		}
133	});
134
135	if (isCommonjs) {
136		module.exports = screenfull;
137	} else {
138		window.screenfull = screenfull;
139	}
140})();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.