--- /dev/null
+//http://www.quirksmode.org/js/detect.html\r
+var BrowserDetect = {\r
+ init: function () {\r
+ this.browser = this.searchString(this.dataBrowser) || "An unknown browser";\r
+ this.version = this.searchVersion(navigator.userAgent)\r
+ || this.searchVersion(navigator.appVersion)\r
+ || "an unknown version";\r
+ this.OS = this.searchString(this.dataOS) || "an unknown OS";\r
+ },\r
+ searchString: function (data) {\r
+ for (var i=0;i<data.length;i++) {\r
+ var dataString = data[i].string;\r
+ var dataProp = data[i].prop;\r
+ this.versionSearchString = data[i].versionSearch || data[i].identity;\r
+ if (dataString) {\r
+ if (dataString.indexOf(data[i].subString) != -1)\r
+ return data[i].identity;\r
+ }\r
+ else if (dataProp)\r
+ return data[i].identity;\r
+ }\r
+ },\r
+ searchVersion: function (dataString) {\r
+ var index = dataString.indexOf(this.versionSearchString);\r
+ if (index == -1) return;\r
+ return parseFloat(dataString.substring(index+this.versionSearchString.length+1));\r
+ },\r
+ dataBrowser: [\r
+ {\r
+ string: navigator.userAgent,\r
+ subString: "Chrome",\r
+ identity: "Chrome"\r
+ },\r
+ { string: navigator.userAgent,\r
+ subString: "OmniWeb",\r
+ versionSearch: "OmniWeb/",\r
+ identity: "OmniWeb"\r
+ },\r
+ {\r
+ string: navigator.vendor,\r
+ subString: "Apple",\r
+ identity: "Safari",\r
+ versionSearch: "Version"\r
+ },\r
+ {\r
+ prop: window.opera,\r
+ identity: "Opera",\r
+ versionSearch: "Version"\r
+ },\r
+ {\r
+ string: navigator.vendor,\r
+ subString: "iCab",\r
+ identity: "iCab"\r
+ },\r
+ {\r
+ string: navigator.vendor,\r
+ subString: "KDE",\r
+ identity: "Konqueror"\r
+ },\r
+ {\r
+ string: navigator.userAgent,\r
+ subString: "Firefox",\r
+ identity: "Firefox"\r
+ },\r
+ {\r
+ string: navigator.vendor,\r
+ subString: "Camino",\r
+ identity: "Camino"\r
+ },\r
+ { // for newer Netscapes (6+)\r
+ string: navigator.userAgent,\r
+ subString: "Netscape",\r
+ identity: "Netscape"\r
+ },\r
+ {\r
+ string: navigator.userAgent,\r
+ subString: "MSIE",\r
+ identity: "Explorer",\r
+ versionSearch: "MSIE"\r
+ },\r
+ {\r
+ string: navigator.userAgent,\r
+ subString: "Gecko",\r
+ identity: "Mozilla",\r
+ versionSearch: "rv"\r
+ },\r
+ { // for older Netscapes (4-)\r
+ string: navigator.userAgent,\r
+ subString: "Mozilla",\r
+ identity: "Netscape",\r
+ versionSearch: "Mozilla"\r
+ }\r
+ ],\r
+ dataOS : [\r
+ {\r
+ string: navigator.platform,\r
+ subString: "Win",\r
+ identity: "windows"\r
+ },\r
+\r
+ {\r
+ string: navigator.userAgent.toLowerCase(),\r
+ subString: "android",\r
+ identity: "Android"\r
+ },\r
+ {\r
+ string: navigator.platform,\r
+ subString: "Mac",\r
+ identity: "MacOS"\r
+ },\r
+ {\r
+ string: navigator.userAgent,\r
+ subString: "iPhone",\r
+ identity: "iPhone"\r
+ },\r
+ {\r
+ string: navigator.userAgent,\r
+ subString: "iPad",\r
+ identity: "iPad"\r
+ },\r
+ {\r
+ string: navigator.platform,\r
+ subString: "Linux",\r
+ identity: "linux"\r
+ }\r
+ ]\r
+\r
+};\r
+BrowserDetect.init();\r