PageSourceSearch

https://pondmakers.com/theme/basic/js/browser_select.js

js pondmakers.com collected 2026-10-02 00:07:36 UTC 3,236 bytes, 98 lines download raw bytes

1function browser_selector(u) {
2	var ua = u.toLowerCase(),
3		is = function(t) {
4			return ua.indexOf(t) > -1
5		},
6		g = 'gecko',
7		w = 'webkit',
8		s = 'safari',
9		c = 'chrome',
10		o = 'opera',
11		m = 'mobile',
12		d = 'desktop',
13		n = 'naver',
14		k = 'kakao',
15		v = 0,
16		r = window.devicePixelRatio ? (window.devicePixelRatio + '').replace('.', '_') : '1';
17	var res = [
18		/* IE */
19		(!(/opera|webtv/.test(ua)) && /msie\s(\d+)/.test(ua) && (v = RegExp.$1 * 1)) ?
20			('ie ie' + v + ((v == 6 || v == 7) ?
21				' ie67 ie678 ie6789' : (v == 8) ?
22				' ie678 ie6789' : (v == 9) ?
23				' ie6789 ie9m' : (v > 9 ) ?
24				' ie9m' : '')) :
25			/* EDGE */
26			(/edge\/(\d+)\.(\d+)/.test(ua) && (v = [RegExp.$1, RegExp.$2])) ?
27			'ie ie' + v[0] + ' ie' + v[0] + '_' + v[1] + ' ie9m edge' :
28				/* IE 11 */
29				(/trident\/\d+.*?;\s*rv:(\d+)\.(\d+)\)/.test(ua) && (v = [RegExp.$1, RegExp.$2])) ?
30					'ie ie' + v[0] + ' ie' + v[0] + '_' + v[1] + ' ie9m' :
31					/* FF */
32					(/firefox\/(\d+)\.(\d+)/.test(ua) && (re = RegExp)) ?
33						g + ' ff ff' + re.$1 + ' ff' + re.$1 + '_' + re.$2 :
34						is('gecko/') ? g :
35							/* Opera - old */
36							is(o) ? 'old' + o + (/version\/(\d+)/.test(ua) ? ' ' + o + RegExp.$1 :
37								(/opera(\s|\/)(\d+)/.test(ua) ? ' ' + o + RegExp.$2 : '')) :
38								/* K */
39								is('konqueror') ? 'konqueror' :
40									/* Black Berry */
41									is('blackberry') ? m + ' blackberry' :
42										/* Chrome */
43										(is(c) || is('crios')) ? w + ' ' + c :
44											/* Iron */
45												is('iron') ? w + ' iron' :
46													/* Safari */
47													!is('cpu os') && is('applewebkit/') ? w + ' ' + s :
48														/* Mozilla */
49														is('mozilla/') ? g : '',
50		/* Android */
51		is('android') ? m + ' android' : '',
52		/* Tablet */
53		is('tablet') ? 'tablet' : '',
54		/* blink or webkit engine browsers */
55			/* Opera */
56			is('opr/') ? o : '',
57			/* Yandex */
58			is('yabrowser') ? 'yandex' : '',
59		/* Machine */
60		is('j2me') ? m + ' j2me' :
61			is('ipad; u; cpu os') ? m + ' chrome android tablet' :
62				is('ipad;u;cpu os') ? m + ' chromedef android tablet' :
63					is('iphone') ? m + ' ios iphone' :
64						is('ipod') ? m + ' ios ipod' :
65							is('ipad') ? m + ' ios ipad tablet' :
66								(is('mac') && window.navigator.standalone != undefined ) ? m + ' ios ipad mac' :
67									is('mac') ? d + ' mac' :
68										is('darwin') ? d + ' mac' :
69											is('webtv') ? 'webtv' :
70												is('win') ? d + ' win' + (is('windows nt 6.0') ? ' vista' : '') :
71													is('freebsd') ? d + ' freebsd' :
72														(is('x11') || ( ! is( 'android' ) && is('linux')) ) ? d + ' linux' : '',
73		/* Naver, Kakao check */
74		is('naver') ? n :
75			is('kakao') ? k : '',
76		/* Ratio (Retina) */
77		(r != '1') ? ' retina ratio' + r : '',
78		'js '].join(' ');
79	if(window.jQuery && !window.jQuery.browser) {
80		window.jQuery.browser = v ? {msie: 1, version: v} : {};
81	}
82	return res;
83};
84
85(function(d, w) {
86	var _c = browser_selector(navigator.userAgent);
87	var h = d.documentElement;
88	h.className += ' ' + _c;
89	var _d = _c.replace(/^\s*|\s*$/g, '').split(/ +/);
90	w.CSSBS = 1;
91	for(var i = 0; i < _d.length; i++) {
92		w['CSSBS_' + _d[i]] = 1;
93	}
94	var _de = function(v) {
95		return d.documentElement[v] || d.body[v];
96	}
97
98})(document, window);

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.