3 this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
4 this.version = this.searchVersion(navigator.userAgent)
5 || this.searchVersion(navigator.appVersion)
6 || "an unknown version";
7 this.OS = this.searchString(this.dataOS) || "an unknown OS";
9 searchString: function (data) {
10 for (var i=0;i<data.length;i++) {
11 var dataString = data[i].string;
12 var dataProp = data[i].prop;
13 this.versionSearchString = data[i].versionSearch || data[i].identity;
15 if (dataString.indexOf(data[i].subString) != -1)
16 return data[i].identity;
19 return data[i].identity;
22 searchVersion: function (dataString) {
23 var index = dataString.indexOf(this.versionSearchString);
24 if (index == -1) return;
25 return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
29 string: navigator.userAgent,
33 { string: navigator.userAgent,
35 versionSearch: "OmniWeb/",
39 string: navigator.vendor,
42 versionSearch: "Version"
47 versionSearch: "Version"
50 string: navigator.vendor,
55 string: navigator.vendor,
60 string: navigator.userAgent,
65 string: navigator.vendor,
69 { // for newer Netscapes (6+)
70 string: navigator.userAgent,
71 subString: "Netscape",
75 string: navigator.userAgent,
81 string: navigator.userAgent,
86 { // for older Netscapes (4-)
87 string: navigator.userAgent,
90 versionSearch: "Mozilla"
95 string: navigator.platform,
100 string: navigator.platform,
105 string: navigator.userAgent,
107 identity: "iPhone/iPod"
110 string: navigator.platform,
117 BrowserDetect.init();