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
47 versionSearch: "Version"
\r
50 string: navigator.vendor,
\r
55 string: navigator.vendor,
\r
57 identity: "Konqueror"
\r
60 string: navigator.userAgent,
\r
61 subString: "Firefox",
\r
65 string: navigator.vendor,
\r
66 subString: "Camino",
\r
69 { // for newer Netscapes (6+)
\r
70 string: navigator.userAgent,
\r
71 subString: "Netscape",
\r
72 identity: "Netscape"
\r
75 string: navigator.userAgent,
\r
77 identity: "Explorer",
\r
78 versionSearch: "MSIE"
\r
81 string: navigator.userAgent,
\r
83 identity: "Mozilla",
\r
86 { // for older Netscapes (4-)
\r
87 string: navigator.userAgent,
\r
88 subString: "Mozilla",
\r
89 identity: "Netscape",
\r
90 versionSearch: "Mozilla"
\r
95 string: navigator.platform,
\r
100 string: navigator.platform,
\r
105 string: navigator.userAgent,
\r
106 subString: "iPhone",
\r
110 string: navigator.userAgent,
\r
115 string: navigator.platform,
\r
116 subString: "Linux",
\r
122 BrowserDetect.init();
\r