Client downloads
[snf-cloudcms] / cloudcms / static / cloudcms / js / os.js
1 //http://www.quirksmode.org/js/detect.html\r
2 var BrowserDetect = {\r
3         init: function () {\r
4                 this.browser = this.searchString(this.dataBrowser) || "An unknown browser";\r
5                 this.version = this.searchVersion(navigator.userAgent)\r
6                         || this.searchVersion(navigator.appVersion)\r
7                         || "an unknown version";\r
8                 this.OS = this.searchString(this.dataOS) || "an unknown OS";\r
9         },\r
10         searchString: function (data) {\r
11                 for (var i=0;i<data.length;i++) {\r
12                         var dataString = data[i].string;\r
13                         var dataProp = data[i].prop;\r
14                         this.versionSearchString = data[i].versionSearch || data[i].identity;\r
15                         if (dataString) {\r
16                                 if (dataString.indexOf(data[i].subString) != -1)\r
17                                         return data[i].identity;\r
18                         }\r
19                         else if (dataProp)\r
20                                 return data[i].identity;\r
21                 }\r
22         },\r
23         searchVersion: function (dataString) {\r
24                 var index = dataString.indexOf(this.versionSearchString);\r
25                 if (index == -1) return;\r
26                 return parseFloat(dataString.substring(index+this.versionSearchString.length+1));\r
27         },\r
28         dataBrowser: [\r
29                 {\r
30                         string: navigator.userAgent,\r
31                         subString: "Chrome",\r
32                         identity: "Chrome"\r
33                 },\r
34                 {       string: navigator.userAgent,\r
35                         subString: "OmniWeb",\r
36                         versionSearch: "OmniWeb/",\r
37                         identity: "OmniWeb"\r
38                 },\r
39                 {\r
40                         string: navigator.vendor,\r
41                         subString: "Apple",\r
42                         identity: "Safari",\r
43                         versionSearch: "Version"\r
44                 },\r
45                 {\r
46                         prop: window.opera,\r
47                         identity: "Opera",\r
48                         versionSearch: "Version"\r
49                 },\r
50                 {\r
51                         string: navigator.vendor,\r
52                         subString: "iCab",\r
53                         identity: "iCab"\r
54                 },\r
55                 {\r
56                         string: navigator.vendor,\r
57                         subString: "KDE",\r
58                         identity: "Konqueror"\r
59                 },\r
60                 {\r
61                         string: navigator.userAgent,\r
62                         subString: "Firefox",\r
63                         identity: "Firefox"\r
64                 },\r
65                 {\r
66                         string: navigator.vendor,\r
67                         subString: "Camino",\r
68                         identity: "Camino"\r
69                 },\r
70                 {               // for newer Netscapes (6+)\r
71                         string: navigator.userAgent,\r
72                         subString: "Netscape",\r
73                         identity: "Netscape"\r
74                 },\r
75                 {\r
76                         string: navigator.userAgent,\r
77                         subString: "MSIE",\r
78                         identity: "Explorer",\r
79                         versionSearch: "MSIE"\r
80                 },\r
81                 {\r
82                         string: navigator.userAgent,\r
83                         subString: "Gecko",\r
84                         identity: "Mozilla",\r
85                         versionSearch: "rv"\r
86                 },\r
87                 {               // for older Netscapes (4-)\r
88                         string: navigator.userAgent,\r
89                         subString: "Mozilla",\r
90                         identity: "Netscape",\r
91                         versionSearch: "Mozilla"\r
92                 }\r
93         ],\r
94         dataOS : [\r
95                 {\r
96                         string: navigator.platform,\r
97                         subString: "Win",\r
98                         identity: "windows"\r
99                 },\r
100                 {\r
101                         string: navigator.platform,\r
102                         subString: "Mac",\r
103                         identity: "MacOS"\r
104                 },\r
105                 {\r
106                            string: navigator.userAgent,\r
107                            subString: "iPhone",\r
108                            identity: "iPhone"\r
109             },\r
110                 {\r
111                         string: navigator.platform,\r
112                         subString: "Linux",\r
113                         identity: "linux"\r
114                 }\r
115         ]\r
116 \r
117 };\r
118 BrowserDetect.init();\r