Whamcloud - gitweb
LUDOC-120 presentation: build bits for webhelp.
[doc/manual.git] / webhelp / template / common / browserDetect.js
1 var BrowserDetect = {\r
2         init: function () {\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
8         },\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
14                         if (dataString) {\r
15                                 if (dataString.indexOf(data[i].subString) != -1)\r
16                                         return data[i].identity;\r
17                         }\r
18                         else if (dataProp)\r
19                                 return data[i].identity;\r
20                 }\r
21         },\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
26         },\r
27         dataBrowser: [\r
28                 {\r
29                         string: navigator.userAgent,\r
30                         subString: "Chrome",\r
31                         identity: "Chrome"\r
32                 },\r
33                 {       string: navigator.userAgent,\r
34                         subString: "OmniWeb",\r
35                         versionSearch: "OmniWeb/",\r
36                         identity: "OmniWeb"\r
37                 },\r
38                 {\r
39                         string: navigator.vendor,\r
40                         subString: "Apple",\r
41                         identity: "Safari",\r
42                         versionSearch: "Version"\r
43                 },\r
44                 {\r
45                         prop: window.opera,\r
46                         identity: "Opera"\r
47                 },\r
48                 {\r
49                         string: navigator.vendor,\r
50                         subString: "iCab",\r
51                         identity: "iCab"\r
52                 },\r
53                 {\r
54                         string: navigator.vendor,\r
55                         subString: "KDE",\r
56                         identity: "Konqueror"\r
57                 },\r
58                 {\r
59                         string: navigator.userAgent,\r
60                         subString: "Firefox",\r
61                         identity: "Firefox"\r
62                 },\r
63                 {\r
64                         string: navigator.vendor,\r
65                         subString: "Camino",\r
66                         identity: "Camino"\r
67                 },\r
68                 {               // for newer Netscapes (6+)\r
69                         string: navigator.userAgent,\r
70                         subString: "Netscape",\r
71                         identity: "Netscape"\r
72                 },\r
73                 {\r
74                         string: navigator.userAgent,\r
75                         subString: "MSIE",\r
76                         identity: "Explorer",\r
77                         versionSearch: "MSIE"\r
78                 },\r
79                 {\r
80                         string: navigator.userAgent,\r
81                         subString: "Gecko",\r
82                         identity: "Mozilla",\r
83                         versionSearch: "rv"\r
84                 },\r
85                 {               // for older Netscapes (4-)\r
86                         string: navigator.userAgent,\r
87                         subString: "Mozilla",\r
88                         identity: "Netscape",\r
89                         versionSearch: "Mozilla"\r
90                 }\r
91         ],\r
92         dataOS : [\r
93                 {\r
94                         string: navigator.platform,\r
95                         subString: "Win",\r
96                         identity: "Windows"\r
97                 },\r
98                 {\r
99                         string: navigator.platform,\r
100                         subString: "Mac",\r
101                         identity: "Mac"\r
102                 },\r
103                 {\r
104                            string: navigator.userAgent,\r
105                            subString: "iPhone",\r
106                            identity: "iPhone/iPod"\r
107             },\r
108                 {\r
109                         string: navigator.platform,\r
110                         subString: "Linux",\r
111                         identity: "Linux"\r
112                 }\r
113         ]\r
114 \r
115 };\r
116 BrowserDetect.init();