1 //http://www.quirksmode.org/js/detect.html
\r
2 var BrowserDetect = {
\r
4 this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
\r
5 this.version = this.searchVersion(navigator.userAgent)
\r
6 || this.searchVersion(navigator.appVersion)
\r
7 || "an unknown version";
\r
8 this.OS = this.searchString(this.dataOS) || "an unknown OS";
\r
10 searchString: function (data) {
\r
11 for (var i=0;i<data.length;i++) {
\r
12 var dataString = data[i].string;
\r
13 var dataProp = data[i].prop;
\r
14 this.versionSearchString = data[i].versionSearch || data[i].identity;
\r
16 if (dataString.indexOf(data[i].subString) != -1)
\r
17 return data[i].identity;
\r
20 return data[i].identity;
\r
23 searchVersion: function (dataString) {
\r
24 var index = dataString.indexOf(this.versionSearchString);
\r
25 if (index == -1) return;
\r
26 return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
\r
30 string: navigator.userAgent,
\r
31 subString: "Chrome",
\r
34 { string: navigator.userAgent,
\r
35 subString: "OmniWeb",
\r
36 versionSearch: "OmniWeb/",
\r
40 string: navigator.vendor,
\r
43 versionSearch: "Version"
\r
48 versionSearch: "Version"
\r
51 string: navigator.vendor,
\r
56 string: navigator.vendor,
\r
58 identity: "Konqueror"
\r
61 string: navigator.userAgent,
\r
62 subString: "Firefox",
\r
66 string: navigator.vendor,
\r
67 subString: "Camino",
\r
70 { // for newer Netscapes (6+)
\r
71 string: navigator.userAgent,
\r
72 subString: "Netscape",
\r
73 identity: "Netscape"
\r
76 string: navigator.userAgent,
\r
78 identity: "Explorer",
\r
79 versionSearch: "MSIE"
\r
82 string: navigator.userAgent,
\r
84 identity: "Mozilla",
\r
87 { // for older Netscapes (4-)
\r
88 string: navigator.userAgent,
\r
89 subString: "Mozilla",
\r
90 identity: "Netscape",
\r
91 versionSearch: "Mozilla"
\r
96 string: navigator.platform,
\r
102 string: navigator.userAgent.toLowerCase(),
\r
103 subString: "android",
\r
104 identity: "Android"
\r
107 string: navigator.platform,
\r
112 string: navigator.userAgent,
\r
113 subString: "iPhone",
\r
117 string: navigator.userAgent,
\r
122 string: navigator.platform,
\r
123 subString: "Linux",
\r
129 BrowserDetect.init();
\r