1 var BrowserDetect = {
\r
3 this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
\r
4 this.version = this.searchVersion(navigator.userAgent)
\r
5 || this.searchVersion(navigator.appVersion)
\r
6 || "an unknown version";
\r
7 this.OS = this.searchString(this.dataOS) || "an unknown OS";
\r
9 searchString: function (data) {
\r
10 for (var i=0;i<data.length;i++) {
\r
11 var dataString = data[i].string;
\r
12 var dataProp = data[i].prop;
\r
13 this.versionSearchString = data[i].versionSearch || data[i].identity;
\r
15 if (dataString.indexOf(data[i].subString) != -1)
\r
16 return data[i].identity;
\r
19 return data[i].identity;
\r
22 searchVersion: function (dataString) {
\r
23 var index = dataString.indexOf(this.versionSearchString);
\r
24 if (index == -1) return;
\r
25 return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
\r
29 string: navigator.userAgent,
\r
30 subString: "Chrome",
\r
33 { string: navigator.userAgent,
\r
34 subString: "OmniWeb",
\r
35 versionSearch: "OmniWeb/",
\r
39 string: navigator.vendor,
\r
42 versionSearch: "Version"
\r
49 string: navigator.vendor,
\r
54 string: navigator.vendor,
\r
56 identity: "Konqueror"
\r
59 string: navigator.userAgent,
\r
60 subString: "Firefox",
\r
64 string: navigator.vendor,
\r
65 subString: "Camino",
\r
68 { // for newer Netscapes (6+)
\r
69 string: navigator.userAgent,
\r
70 subString: "Netscape",
\r
71 identity: "Netscape"
\r
74 string: navigator.userAgent,
\r
76 identity: "Explorer",
\r
77 versionSearch: "MSIE"
\r
80 string: navigator.userAgent,
\r
82 identity: "Mozilla",
\r
85 { // for older Netscapes (4-)
\r
86 string: navigator.userAgent,
\r
87 subString: "Mozilla",
\r
88 identity: "Netscape",
\r
89 versionSearch: "Mozilla"
\r
94 string: navigator.platform,
\r
99 string: navigator.platform,
\r
104 string: navigator.userAgent,
\r
105 subString: "iPhone",
\r
106 identity: "iPhone/iPod"
\r
109 string: navigator.platform,
\r
110 subString: "Linux",
\r
116 BrowserDetect.init();