PageSourceSearch

https://www.bluemarlinibiza.com/wp-content/themes/bluemarlinibiza/…wser-detection.apply-class-to-html.js?_v114

js bluemarlinibiza.com collected 2026-10-03 19:36:30 UTC 6,273 bytes, 214 lines download raw bytes

1var Globals = Globals || {};
2
3(function(){
4	
5	// ----------------------------------------------------------------------------------------- //
6	// !Exec detection IMMEDIATELY
7	// ----------------------------------------------------------------------------------------- //
8	var client = function(){
9	
10	    //rendering engines
11	    var engine = {            
12	        ie: 0,
13	        gecko: 0,
14	        webkit: 0,
15	        khtml: 0,
16	        opera: 0,
17	
18	        //complete version
19	        ver: null  
20	    };
21	    
22	    //browsers
23	    var browser = {
24	        
25	        //browsers
26	        ie: 0,
27	        firefox: 0,
28	        safari: 0,
29	        konq: 0,
30	        opera: 0,
31	        chrome: 0,
32	        safari: 0,
33	
34	        //specific version
35	        ver: null
36	    };
37	
38	    
39	    //platform/device/OS
40	    var system = {
41	        win: false,
42	        mac: false,
43	        x11: false,
44	        
45	        //mobile devices
46	        iphone: false,
47	        ipod: false,
48	        ipad: false,
49	        nokiaN: false,
50	        winMobile: false,
51	        macMobile: false,
52	        
53	        //game systems
54	        wii: false,
55	        ps: false 
56	    };
57	
58	    //detect rendering engines/browsers
59	    var ua = navigator.userAgent;    
60	    if (window.opera){
61	        engine.ver = browser.ver = window.opera.version();
62	        engine.opera = browser.opera = parseFloat(engine.ver);
63	    } else if (/AppleWebKit\/(\S+)/.test(ua)){
64	        engine.ver = RegExp["$1"];
65	        engine.webkit = parseFloat(engine.ver);
66	        
67	        //figure out if it's Chrome or Safari
68	        if (/Chrome\/(\S+)/.test(ua)){
69	            browser.ver = RegExp["$1"];
70	            browser.chrome = parseFloat(browser.ver);
71	        } else if (/Version\/(\S+)/.test(ua)){
72	            browser.ver = RegExp["$1"];
73	            browser.safari = parseFloat(browser.ver);
74	        } else {
75	            //approximate version
76	            var safariVersion = 1;
77	            if (engine.webkit < 100){
78	                safariVersion = 1;
79	            } else if (engine.webkit < 312){
80	                safariVersion = 1.2;
81	            } else if (engine.webkit < 412){
82	                safariVersion = 1.3;
83	            } else {
84	                safariVersion = 2;
85	            }   
86	            
87	            browser.safari = browser.ver = safariVersion;        
88	        }
89	    } else if (/KHTML\/(\S+)/.test(ua) || /Konqueror\/([^;]+)/.test(ua)){
90	        engine.ver = browser.ver = RegExp["$1"];
91	        engine.khtml = browser.konq = parseFloat(engine.ver);
92	    } else if (/rv:([^\)]+)\) Gecko\/\d{8}/.test(ua)){    
93	        engine.ver = RegExp["$1"];
94	        engine.gecko = parseFloat(engine.ver);
95	        
96	        //determine if it's Firefox
97	        if (/Firefox\/(\S+)/.test(ua)){
98	            browser.ver = RegExp["$1"];
99	            browser.firefox = parseFloat(browser.ver);
100	        }
101	    } else if (/MSIE ([^;]+)/.test(ua)){    
102	        engine.ver = browser.ver = RegExp["$1"];
103	        engine.ie = browser.ie = parseFloat(engine.ver);
104	    }
105	    
106	    //detect browsers
107	    browser.ie = engine.ie;
108	    browser.opera = engine.opera;
109	    
110	
111	    //detect platform
112	    var p = navigator.platform;
113	    system.win = p.indexOf("Win") == 0;
114	    system.mac = p.indexOf("Mac") == 0;
115	    system.x11 = (p == "X11") || (p.indexOf("Linux") == 0);
116	
117	    //detect windows operating systems
118	    if (system.win){
119	        if (/Win(?:dows )?([^do]{2})\s?(\d+\.\d+)?/.test(ua)){
120	            if (RegExp["$1"] == "NT"){
121	                switch(RegExp["$2"]){
122	                    case "5.0":
123	                        system.win = "2000";
124	                        break;
125	                    case "5.1":
126	                        system.win = "XP";
127	                        break;
128	                    case "6.0":
129	                        system.win = "Vista";
130	                        break;
131	                    default:
132	                        system.win = "NT";
133	                        break;                
134	                }                            
135	            } else if (RegExp["$1"] == "9x"){
136	                system.win = "ME";
137	            } else {
138	                system.win = RegExp["$1"];
139	            }
140	        }
141	    }
142	    
143	    //mobile devices
144	    system.iphone = ua.indexOf("iPhone") > -1;
145	    system.ipod = ua.indexOf("iPod") > -1;
146	    system.ipad = ua.indexOf("iPad") > -1;
147	    system.nokiaN = ua.indexOf("NokiaN") > -1;
148	    system.winMobile = (system.win == "CE");
149	    system.macMobile = (system.iphone || system.ipod);
150	    
151	    //gaming systems
152	    system.wii = ua.indexOf("Wii") > -1;
153	    system.ps = /playstation/i.test(ua);
154	    
155	    //return it
156	    return {
157	        engine:     engine,
158	        browser:    browser,
159	        system:     system        
160	    };
161	
162	}();
163	
164	// ----------------------------------------------------------------------------------------- //
165	// !Register globals
166	// ----------------------------------------------------------------------------------------- //
167	
168	Globals.clientDetection = client;
169	
170	// ----------------------------------------------------------------------------------------- //
171	// !on doc ready -> register classes
172	// ----------------------------------------------------------------------------------------- //
173	
174	$(document).ready(function() {
175		// regitser engine
176		var $html = $('html');
177		
178		$.each(Globals.clientDetection.browser,function(browserName,version){
179			if(version > 0) {
180				$html.addClass(browserName);
181				return false;
182			}
183		});
184		
185		$.each(Globals.clientDetection.engine,function(engineName,version){
186			if(version > 0) {
187				$html.addClass(engineName);
188				return false;
189			}
190		});
191		
192		$.each(Globals.clientDetection.system,function(systemName,hasSystem){
193			if(hasSystem) {
194				$html.addClass(systemName);
195				return false;
196			}
197		});
198		
199		if(Globals.clientDetection.system.iphone || Globals.clientDetection.system.ipad || Globals.clientDetection.system.ipod)
200		{
201			$html.addClass('touch');
202			$html.removeClass('notouch');
203		}
204		else
205		{
206			$html.addClass('notouch');
207			$html.removeClass('touch');
208
209		}
210
211		if(typeof PageController !== 'undefined') PageController.registerController('browser-detection.apply-class-to-html',Globals.clientDetection);
212	});
213	
214})();

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.