2 * http://www.quirksmode.org/js/detect.html
7 this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
8 this.version = this.searchVersion(navigator.userAgent)
9 || this.searchVersion(navigator.appVersion)
10 || "an unknown version";
11 this.OS = this.searchString(this.dataOS) || "an unknown OS";
14 searchString: function (data) {
15 for (var i=0;i<data.length;i++) {
16 var dataString = data[i].string;
17 var dataProp = data[i].prop;
18 this.versionSearchString = data[i].versionSearch || data[i].identity;
20 if (dataString.indexOf(data[i].subString) != -1)
21 return data[i].identity;
24 return data[i].identity;
28 searchVersion: function (dataString) {
29 var index = dataString.indexOf(this.versionSearchString);
30 if (index == -1) return;
31 return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
36 string: navigator.userAgent,
40 { string: navigator.userAgent,
42 versionSearch: "OmniWeb/",
46 string: navigator.vendor,
49 versionSearch: "Version"
56 string: navigator.vendor,
61 string: navigator.vendor,
66 string: navigator.userAgent,
71 string: navigator.vendor,
75 { // for newer Netscapes (6+)
76 string: navigator.userAgent,
77 subString: "Netscape",
81 string: navigator.userAgent,
87 string: navigator.userAgent,
92 { // for older Netscapes (4-)
93 string: navigator.userAgent,
96 versionSearch: "Mozilla"
102 string: navigator.platform,
107 string: navigator.platform,
112 string: navigator.userAgent,
114 identity: "iPhone/iPod"
117 string: navigator.platform,
124 BrowserDetect.init();