rack-caniuse 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +19 -12
- data/caniuse/features-json/apng.json +158 -0
- data/caniuse/features-json/audio-api.json +146 -0
- data/caniuse/features-json/audio.json +167 -0
- data/caniuse/features-json/background-img-opts.json +155 -0
- data/caniuse/features-json/blobbuilder.json +146 -0
- data/caniuse/features-json/bloburls.json +142 -0
- data/caniuse/features-json/border-image.json +142 -0
- data/caniuse/features-json/border-radius.json +162 -0
- data/caniuse/features-json/calc.json +146 -0
- data/caniuse/features-json/canvas-text.json +147 -0
- data/caniuse/features-json/canvas.json +161 -0
- data/caniuse/features-json/classlist.json +147 -0
- data/caniuse/features-json/contenteditable.json +155 -0
- data/caniuse/features-json/contentsecuritypolicy.json +144 -0
- data/caniuse/features-json/cors.json +156 -0
- data/caniuse/features-json/css-animation.json +148 -0
- data/caniuse/features-json/css-boxshadow.json +156 -0
- data/caniuse/features-json/css-canvas.json +142 -0
- data/caniuse/features-json/css-counters.json +146 -0
- data/caniuse/features-json/css-featurequeries.json +150 -0
- data/caniuse/features-json/css-filters.json +155 -0
- data/caniuse/features-json/css-fixed.json +151 -0
- data/caniuse/features-json/css-gencontent.json +151 -0
- data/caniuse/features-json/css-gradients.json +154 -0
- data/caniuse/features-json/css-grid.json +150 -0
- data/caniuse/features-json/css-hyphens.json +146 -0
- data/caniuse/features-json/css-masks.json +142 -0
- data/caniuse/features-json/css-mediaqueries.json +152 -0
- data/caniuse/features-json/css-opacity.json +142 -0
- data/caniuse/features-json/css-reflections.json +142 -0
- data/caniuse/features-json/css-regions.json +146 -0
- data/caniuse/features-json/css-repeating-gradients.json +146 -0
- data/caniuse/features-json/css-resize.json +142 -0
- data/caniuse/features-json/css-sel2.json +156 -0
- data/caniuse/features-json/css-sel3.json +150 -0
- data/caniuse/features-json/css-table.json +148 -0
- data/caniuse/features-json/css-textshadow.json +152 -0
- data/caniuse/features-json/css-transitions.json +165 -0
- data/caniuse/features-json/css3-boxsizing.json +152 -0
- data/caniuse/features-json/css3-colors.json +154 -0
- data/caniuse/features-json/css3-conditional.json +145 -0
- data/caniuse/features-json/datalist.json +150 -0
- data/caniuse/features-json/dataset.json +152 -0
- data/caniuse/features-json/datauri.json +150 -0
- data/caniuse/features-json/details.json +150 -0
- data/caniuse/features-json/deviceorientation.json +142 -0
- data/caniuse/features-json/download.json +146 -0
- data/caniuse/features-json/dragndrop.json +152 -0
- data/caniuse/features-json/eot.json +146 -0
- data/caniuse/features-json/eventsource.json +148 -0
- data/caniuse/features-json/fileapi.json +142 -0
- data/caniuse/features-json/filereader.json +142 -0
- data/caniuse/features-json/filesystem.json +142 -0
- data/caniuse/features-json/flexbox.json +156 -0
- data/caniuse/features-json/font-feature.json +150 -0
- data/caniuse/features-json/fontface.json +156 -0
- data/caniuse/features-json/form-validation.json +141 -0
- data/caniuse/features-json/forms.json +151 -0
- data/caniuse/features-json/fullscreen.json +150 -0
- data/caniuse/features-json/geolocation.json +144 -0
- data/caniuse/features-json/getcomputedstyle.json +152 -0
- data/caniuse/features-json/getelementsbyclassname.json +145 -0
- data/caniuse/features-json/hashchange.json +155 -0
- data/caniuse/features-json/history.json +156 -0
- data/caniuse/features-json/html5semantic.json +150 -0
- data/caniuse/features-json/iframe-sandbox.json +146 -0
- data/caniuse/features-json/indexeddb.json +148 -0
- data/caniuse/features-json/inline-block.json +146 -0
- data/caniuse/features-json/input-color.json +146 -0
- data/caniuse/features-json/input-datetime.json +146 -0
- data/caniuse/features-json/input-number.json +146 -0
- data/caniuse/features-json/input-placeholder.json +146 -0
- data/caniuse/features-json/input-range.json +150 -0
- data/caniuse/features-json/json.json +146 -0
- data/caniuse/features-json/matchesselector.json +143 -0
- data/caniuse/features-json/matchmedia.json +151 -0
- data/caniuse/features-json/mathml.json +158 -0
- data/caniuse/features-json/menu.json +146 -0
- data/caniuse/features-json/minmaxwh.json +148 -0
- data/caniuse/features-json/mpeg4.json +148 -0
- data/caniuse/features-json/multibackgrounds.json +148 -0
- data/caniuse/features-json/multicolumn.json +154 -0
- data/caniuse/features-json/namevalue-storage.json +150 -0
- data/caniuse/features-json/nav-timing.json +147 -0
- data/caniuse/features-json/notifications.json +146 -0
- data/caniuse/features-json/object-fit.json +142 -0
- data/caniuse/features-json/offline-apps.json +152 -0
- data/caniuse/features-json/ogv.json +142 -0
- data/caniuse/features-json/outline.json +148 -0
- data/caniuse/features-json/pagevisibility.json +142 -0
- data/caniuse/features-json/png-alpha.json +148 -0
- data/caniuse/features-json/pointer-events.json +144 -0
- data/caniuse/features-json/progressmeter.json +150 -0
- data/caniuse/features-json/queryselector.json +150 -0
- data/caniuse/features-json/rellist.json +143 -0
- data/caniuse/features-json/rem.json +144 -0
- data/caniuse/features-json/requestanimationframe.json +146 -0
- data/caniuse/features-json/ruby.json +146 -0
- data/caniuse/features-json/script-async.json +147 -0
- data/caniuse/features-json/script-defer.json +143 -0
- data/caniuse/features-json/sharedworkers.json +146 -0
- data/caniuse/features-json/spdy.json +146 -0
- data/caniuse/features-json/sql-storage.json +142 -0
- data/caniuse/features-json/stream.json +143 -0
- data/caniuse/features-json/stricttransportsecurity.json +146 -0
- data/caniuse/features-json/style-scoped.json +151 -0
- data/caniuse/features-json/svg-css.json +145 -0
- data/caniuse/features-json/svg-filters.json +148 -0
- data/caniuse/features-json/svg-fonts.json +146 -0
- data/caniuse/features-json/svg-fragment.json +142 -0
- data/caniuse/features-json/svg-html.json +150 -0
- data/caniuse/features-json/svg-html5.json +147 -0
- data/caniuse/features-json/svg-img.json +148 -0
- data/caniuse/features-json/svg-smil.json +152 -0
- data/caniuse/features-json/svg.json +158 -0
- data/caniuse/features-json/testfeat.json +142 -0
- data/caniuse/features-json/text-overflow.json +150 -0
- data/caniuse/features-json/text-stroke.json +146 -0
- data/caniuse/features-json/touch.json +156 -0
- data/caniuse/features-json/transforms2d.json +160 -0
- data/caniuse/features-json/transforms3d.json +150 -0
- data/caniuse/features-json/ttf.json +139 -0
- data/caniuse/features-json/typedarrays.json +147 -0
- data/caniuse/features-json/use-strict.json +146 -0
- data/caniuse/features-json/user-select-none.json +142 -0
- data/caniuse/features-json/video.json +154 -0
- data/caniuse/features-json/viewport-units.json +147 -0
- data/caniuse/features-json/wai-aria.json +158 -0
- data/caniuse/features-json/webgl.json +158 -0
- data/caniuse/features-json/webm.json +150 -0
- data/caniuse/features-json/websockets.json +150 -0
- data/caniuse/features-json/webworkers.json +150 -0
- data/caniuse/features-json/woff.json +142 -0
- data/caniuse/features-json/word-break.json +142 -0
- data/caniuse/features-json/wordwrap.json +146 -0
- data/caniuse/features-json/x-doc-messaging.json +152 -0
- data/caniuse/features-json/xhr2.json +153 -0
- data/caniuse/features-json/xhtml.json +146 -0
- data/caniuse/features-json/xhtmlsmil.json +146 -0
- data/lib/rack/caniuse.rb +15 -9
- metadata +140 -2
- data/Rakefile +0 -8
data/README.md
CHANGED
@@ -1,29 +1,36 @@
|
|
1
1
|
# About
|
2
2
|
|
3
|
+
> There is nothing permanent except change. — Heraclitus.
|
3
4
|
|
5
|
+
CanIUse is a Rack middleware for browser compatibility checking inspired from [rack-noie](https://github.com/juliocesar/rack-noie). It checks if your user's browser supports the technologies your website relies on by using the [caniuse](http://caniuse.com/) [database](https://github.com/Fyrd/caniuse). It allows you to redirect those who have unsupported browser versions away from your website.
|
4
6
|
|
5
|
-
|
6
|
-
|
7
|
-
Add to your Gemfile.
|
7
|
+
**Example**
|
8
8
|
|
9
9
|
```ruby
|
10
|
-
|
10
|
+
use Rack::BrowserCheck,
|
11
|
+
redirect: 'http://whatbrowser.org/',
|
12
|
+
features: [
|
13
|
+
'webworkers', 'filereader', 'bloburls',
|
14
|
+
'filesystem', 'websockets', 'fileapi'
|
15
|
+
]
|
11
16
|
```
|
12
17
|
|
13
|
-
#
|
18
|
+
# Installation
|
14
19
|
|
15
|
-
Add to your
|
20
|
+
Add to your Gemfile.
|
16
21
|
|
17
22
|
```ruby
|
18
|
-
|
23
|
+
gem 'rack-caniuse', require: 'rack/caniuse'
|
19
24
|
```
|
20
25
|
|
21
|
-
#
|
26
|
+
# Configuration
|
22
27
|
|
23
|
-
|
24
|
-
|
25
|
-
|
28
|
+
CanIUse accepts two configuration parameters: `redirect` and `features`. See the example above.
|
29
|
+
|
30
|
+
The first allows you to set the URL to redirect to when users have an unsupported browser version. By default, we will redirect users to [www.browsehappy.com](http://browsehappy.com/) (you may want to use more punitive measures as you see fit).
|
31
|
+
|
32
|
+
The second accepts an array of features, using the [caniuse](https://github.com/Fyrd/caniuse/tree/master/features-json) naming scheme.
|
26
33
|
|
27
34
|
# License
|
28
35
|
|
29
|
-
|
36
|
+
GPL.
|
@@ -0,0 +1,158 @@
|
|
1
|
+
{
|
2
|
+
"title":"Animated PNG (APNG)",
|
3
|
+
"description":"Like animated GIFs, but allowing 24-bit colors and alpha transparency",
|
4
|
+
"spec":"https://wiki.mozilla.org/APNG_Specification",
|
5
|
+
"status":"unoff",
|
6
|
+
"links":[
|
7
|
+
{
|
8
|
+
"url":"http://www.truekolor.net/learn-how-to-create-an-animated-png/",
|
9
|
+
"title":"APNG tutorial"
|
10
|
+
},
|
11
|
+
{
|
12
|
+
"url":"http://animatedpng.com/",
|
13
|
+
"title":"An APNG editor"
|
14
|
+
},
|
15
|
+
{
|
16
|
+
"url":"https://chrome.google.com/webstore/detail/ehkepjiconegkhpodgoaeamnpckdbblp",
|
17
|
+
"title":"Chrome extension providing support"
|
18
|
+
},
|
19
|
+
{
|
20
|
+
"url":"https://github.com/davidmz/apng-canvas",
|
21
|
+
"title":"Polyfill using canvas"
|
22
|
+
},
|
23
|
+
{
|
24
|
+
"url":"http://en.wikipedia.org/wiki/APNG",
|
25
|
+
"title":"Wikipedia"
|
26
|
+
}
|
27
|
+
],
|
28
|
+
"bugs":[
|
29
|
+
|
30
|
+
],
|
31
|
+
"categories":[
|
32
|
+
"PNG"
|
33
|
+
],
|
34
|
+
"stats":{
|
35
|
+
"ie":{
|
36
|
+
"5.5":"n",
|
37
|
+
"6":"n",
|
38
|
+
"7":"n",
|
39
|
+
"8":"n",
|
40
|
+
"9":"n",
|
41
|
+
"10":"n"
|
42
|
+
},
|
43
|
+
"firefox":{
|
44
|
+
"2":"n",
|
45
|
+
"3":"y",
|
46
|
+
"3.5":"y",
|
47
|
+
"3.6":"y",
|
48
|
+
"4":"y",
|
49
|
+
"5":"y",
|
50
|
+
"6":"y",
|
51
|
+
"7":"y",
|
52
|
+
"8":"y",
|
53
|
+
"9":"y",
|
54
|
+
"10":"y",
|
55
|
+
"11":"y",
|
56
|
+
"12":"y",
|
57
|
+
"13":"y",
|
58
|
+
"14":"y",
|
59
|
+
"15":"y",
|
60
|
+
"16":"y",
|
61
|
+
"17":"y",
|
62
|
+
"18":"y",
|
63
|
+
"19":"y",
|
64
|
+
"20":"y"
|
65
|
+
},
|
66
|
+
"chrome":{
|
67
|
+
"4":"n",
|
68
|
+
"5":"n",
|
69
|
+
"6":"n",
|
70
|
+
"7":"n",
|
71
|
+
"8":"n",
|
72
|
+
"9":"n",
|
73
|
+
"10":"n",
|
74
|
+
"11":"n",
|
75
|
+
"12":"n",
|
76
|
+
"13":"n",
|
77
|
+
"14":"n",
|
78
|
+
"15":"n",
|
79
|
+
"16":"n",
|
80
|
+
"17":"n",
|
81
|
+
"18":"n",
|
82
|
+
"19":"n",
|
83
|
+
"20":"n",
|
84
|
+
"21":"n",
|
85
|
+
"22":"n",
|
86
|
+
"23":"n",
|
87
|
+
"24":"n",
|
88
|
+
"25":"n",
|
89
|
+
"26":"n"
|
90
|
+
},
|
91
|
+
"safari":{
|
92
|
+
"3.1":"n",
|
93
|
+
"3.2":"n",
|
94
|
+
"4":"n",
|
95
|
+
"5":"n",
|
96
|
+
"5.1":"n",
|
97
|
+
"6":"n"
|
98
|
+
},
|
99
|
+
"opera":{
|
100
|
+
"9":"n",
|
101
|
+
"9.5-9.6":"y",
|
102
|
+
"10.0-10.1":"y",
|
103
|
+
"10.5":"y",
|
104
|
+
"10.6":"y",
|
105
|
+
"11":"y",
|
106
|
+
"11.1":"y",
|
107
|
+
"11.5":"y",
|
108
|
+
"11.6":"y",
|
109
|
+
"12":"y",
|
110
|
+
"12.1":"y",
|
111
|
+
"12.5":"y"
|
112
|
+
},
|
113
|
+
"ios_saf":{
|
114
|
+
"3.2":"n",
|
115
|
+
"4.0-4.1":"n",
|
116
|
+
"4.2-4.3":"n",
|
117
|
+
"5.0-5.1":"n",
|
118
|
+
"6":"n"
|
119
|
+
},
|
120
|
+
"op_mini":{
|
121
|
+
"5.0-7.0":"n"
|
122
|
+
},
|
123
|
+
"android":{
|
124
|
+
"2.1":"n",
|
125
|
+
"2.2":"n",
|
126
|
+
"2.3":"n",
|
127
|
+
"3":"n",
|
128
|
+
"4":"n",
|
129
|
+
"4.1":"n",
|
130
|
+
"4.2":"n"
|
131
|
+
},
|
132
|
+
"bb":{
|
133
|
+
"7":"n",
|
134
|
+
"10":"n"
|
135
|
+
},
|
136
|
+
"op_mob":{
|
137
|
+
"10":"y",
|
138
|
+
"11":"y",
|
139
|
+
"11.1":"y",
|
140
|
+
"11.5":"y",
|
141
|
+
"12":"y",
|
142
|
+
"12.1":"y"
|
143
|
+
},
|
144
|
+
"and_chr":{
|
145
|
+
"0":"n"
|
146
|
+
},
|
147
|
+
"and_ff":{
|
148
|
+
"0":"y"
|
149
|
+
}
|
150
|
+
},
|
151
|
+
"notes":"Where support for APNG is missing, only the first frame is displayed",
|
152
|
+
"usage_perc_y":19.5,
|
153
|
+
"usage_perc_a":0,
|
154
|
+
"ucprefix":false,
|
155
|
+
"parent":"",
|
156
|
+
"keywords":"",
|
157
|
+
"shown":true
|
158
|
+
}
|
@@ -0,0 +1,146 @@
|
|
1
|
+
{
|
2
|
+
"title":"Web Audio API",
|
3
|
+
"description":"High-level JavaScript API for processing and synthesizing audio",
|
4
|
+
"spec":"http://www.w3.org/TR/audioproc/",
|
5
|
+
"status":"wd",
|
6
|
+
"links":[
|
7
|
+
{
|
8
|
+
"url":"https://github.com/corbanbrook/audionode.js",
|
9
|
+
"title":"Polyfill to support Web Audio API in Firefox"
|
10
|
+
},
|
11
|
+
{
|
12
|
+
"url":"http://www.w3.org/TR/webaudio/",
|
13
|
+
"title":"Web Audio API by Google"
|
14
|
+
}
|
15
|
+
],
|
16
|
+
"bugs":[
|
17
|
+
|
18
|
+
],
|
19
|
+
"categories":[
|
20
|
+
"JS API"
|
21
|
+
],
|
22
|
+
"stats":{
|
23
|
+
"ie":{
|
24
|
+
"5.5":"n",
|
25
|
+
"6":"n",
|
26
|
+
"7":"n",
|
27
|
+
"8":"n",
|
28
|
+
"9":"n",
|
29
|
+
"10":"n"
|
30
|
+
},
|
31
|
+
"firefox":{
|
32
|
+
"2":"n",
|
33
|
+
"3":"n",
|
34
|
+
"3.5":"n",
|
35
|
+
"3.6":"n",
|
36
|
+
"4":"n",
|
37
|
+
"5":"n",
|
38
|
+
"6":"n",
|
39
|
+
"7":"n",
|
40
|
+
"8":"n",
|
41
|
+
"9":"n",
|
42
|
+
"10":"n",
|
43
|
+
"11":"n",
|
44
|
+
"12":"n",
|
45
|
+
"13":"n",
|
46
|
+
"14":"n",
|
47
|
+
"15":"n",
|
48
|
+
"16":"n",
|
49
|
+
"17":"n",
|
50
|
+
"18":"n",
|
51
|
+
"19":"u",
|
52
|
+
"20":"u"
|
53
|
+
},
|
54
|
+
"chrome":{
|
55
|
+
"4":"n",
|
56
|
+
"5":"n",
|
57
|
+
"6":"n",
|
58
|
+
"7":"n",
|
59
|
+
"8":"n",
|
60
|
+
"9":"n",
|
61
|
+
"10":"a x",
|
62
|
+
"11":"a x",
|
63
|
+
"12":"a x",
|
64
|
+
"13":"a x",
|
65
|
+
"14":"a x",
|
66
|
+
"15":"a x",
|
67
|
+
"16":"a x",
|
68
|
+
"17":"a x",
|
69
|
+
"18":"a x",
|
70
|
+
"19":"a x",
|
71
|
+
"20":"a x",
|
72
|
+
"21":"a x",
|
73
|
+
"22":"a x",
|
74
|
+
"23":"a x",
|
75
|
+
"24":"a x",
|
76
|
+
"25":"a x",
|
77
|
+
"26":"a x"
|
78
|
+
},
|
79
|
+
"safari":{
|
80
|
+
"3.1":"n",
|
81
|
+
"3.2":"n",
|
82
|
+
"4":"n",
|
83
|
+
"5":"n",
|
84
|
+
"5.1":"n",
|
85
|
+
"6":"a x"
|
86
|
+
},
|
87
|
+
"opera":{
|
88
|
+
"9":"n",
|
89
|
+
"9.5-9.6":"n",
|
90
|
+
"10.0-10.1":"n",
|
91
|
+
"10.5":"n",
|
92
|
+
"10.6":"n",
|
93
|
+
"11":"n",
|
94
|
+
"11.1":"n",
|
95
|
+
"11.5":"n",
|
96
|
+
"11.6":"n",
|
97
|
+
"12":"n",
|
98
|
+
"12.1":"n",
|
99
|
+
"12.5":"n"
|
100
|
+
},
|
101
|
+
"ios_saf":{
|
102
|
+
"3.2":"n",
|
103
|
+
"4.0-4.1":"n",
|
104
|
+
"4.2-4.3":"n",
|
105
|
+
"5.0-5.1":"n",
|
106
|
+
"6":"a x"
|
107
|
+
},
|
108
|
+
"op_mini":{
|
109
|
+
"5.0-7.0":"n"
|
110
|
+
},
|
111
|
+
"android":{
|
112
|
+
"2.1":"n",
|
113
|
+
"2.2":"n",
|
114
|
+
"2.3":"n",
|
115
|
+
"3":"n",
|
116
|
+
"4":"n",
|
117
|
+
"4.1":"n",
|
118
|
+
"4.2":"n"
|
119
|
+
},
|
120
|
+
"bb":{
|
121
|
+
"7":"n",
|
122
|
+
"10":"n"
|
123
|
+
},
|
124
|
+
"op_mob":{
|
125
|
+
"10":"n",
|
126
|
+
"11":"n",
|
127
|
+
"11.1":"n",
|
128
|
+
"11.5":"n",
|
129
|
+
"12":"n",
|
130
|
+
"12.1":"n"
|
131
|
+
},
|
132
|
+
"and_chr":{
|
133
|
+
"0":"n"
|
134
|
+
},
|
135
|
+
"and_ff":{
|
136
|
+
"0":"n"
|
137
|
+
}
|
138
|
+
},
|
139
|
+
"notes":"Currently Firefox supports an alternative, deprecated audio API, with support for the Web Audio API <a href=\"https://wiki.mozilla.org/Web_Audio_API\">being planned</a>.",
|
140
|
+
"usage_perc_y":0,
|
141
|
+
"usage_perc_a":38.01,
|
142
|
+
"ucprefix":false,
|
143
|
+
"parent":"",
|
144
|
+
"keywords":"web-audio",
|
145
|
+
"shown":true
|
146
|
+
}
|
@@ -0,0 +1,167 @@
|
|
1
|
+
{
|
2
|
+
"title":"Audio element",
|
3
|
+
"description":"Method of playing sound on webpages (without requiring a plug-in)",
|
4
|
+
"spec":"http://www.whatwg.org/specs/web-apps/current-work/multipage/video.html#audio",
|
5
|
+
"status":"wd",
|
6
|
+
"links":[
|
7
|
+
{
|
8
|
+
"url":"http://24ways.org/2010/the-state-of-html5-audio",
|
9
|
+
"title":"Detailed article on support"
|
10
|
+
},
|
11
|
+
{
|
12
|
+
"url":"http://www.phoboslab.org/log/2011/03/the-state-of-html5-audio",
|
13
|
+
"title":"The State of HTML5 Audio"
|
14
|
+
},
|
15
|
+
{
|
16
|
+
"url":"http://textopia.org/androidsoundformats.html",
|
17
|
+
"title":"File format test page"
|
18
|
+
},
|
19
|
+
{
|
20
|
+
"url":"http://html5doctor.com/native-audio-in-the-browser/",
|
21
|
+
"title":"HTML5 Doctor article"
|
22
|
+
},
|
23
|
+
{
|
24
|
+
"url":"http://www.jplayer.org/latest/demos/",
|
25
|
+
"title":"Demos of audio player that uses <audio>"
|
26
|
+
},
|
27
|
+
{
|
28
|
+
"url":"http://dev.opera.com/articles/view/everything-you-need-to-know-about-html5-video-and-audio/",
|
29
|
+
"title":"Detailed article on video/audio elements"
|
30
|
+
}
|
31
|
+
],
|
32
|
+
"bugs":[
|
33
|
+
{
|
34
|
+
"description":"Audio played from the element in iOS always plays in a full screen player."
|
35
|
+
},
|
36
|
+
{
|
37
|
+
"description":"Firefox does not play MP3 audio because of licensing issues."
|
38
|
+
}
|
39
|
+
],
|
40
|
+
"categories":[
|
41
|
+
"HTML5"
|
42
|
+
],
|
43
|
+
"stats":{
|
44
|
+
"ie":{
|
45
|
+
"5.5":"n",
|
46
|
+
"6":"n",
|
47
|
+
"7":"n",
|
48
|
+
"8":"n",
|
49
|
+
"9":"y",
|
50
|
+
"10":"y"
|
51
|
+
},
|
52
|
+
"firefox":{
|
53
|
+
"2":"n",
|
54
|
+
"3":"n",
|
55
|
+
"3.5":"y",
|
56
|
+
"3.6":"y",
|
57
|
+
"4":"y",
|
58
|
+
"5":"y",
|
59
|
+
"6":"y",
|
60
|
+
"7":"y",
|
61
|
+
"8":"y",
|
62
|
+
"9":"y",
|
63
|
+
"10":"y",
|
64
|
+
"11":"y",
|
65
|
+
"12":"y",
|
66
|
+
"13":"y",
|
67
|
+
"14":"y",
|
68
|
+
"15":"y",
|
69
|
+
"16":"y",
|
70
|
+
"17":"y",
|
71
|
+
"18":"y",
|
72
|
+
"19":"y",
|
73
|
+
"20":"y"
|
74
|
+
},
|
75
|
+
"chrome":{
|
76
|
+
"4":"y",
|
77
|
+
"5":"y",
|
78
|
+
"6":"y",
|
79
|
+
"7":"y",
|
80
|
+
"8":"y",
|
81
|
+
"9":"y",
|
82
|
+
"10":"y",
|
83
|
+
"11":"y",
|
84
|
+
"12":"y",
|
85
|
+
"13":"y",
|
86
|
+
"14":"y",
|
87
|
+
"15":"y",
|
88
|
+
"16":"y",
|
89
|
+
"17":"y",
|
90
|
+
"18":"y",
|
91
|
+
"19":"y",
|
92
|
+
"20":"y",
|
93
|
+
"21":"y",
|
94
|
+
"22":"y",
|
95
|
+
"23":"y",
|
96
|
+
"24":"y",
|
97
|
+
"25":"y",
|
98
|
+
"26":"y"
|
99
|
+
},
|
100
|
+
"safari":{
|
101
|
+
"3.1":"n",
|
102
|
+
"3.2":"n",
|
103
|
+
"4":"y",
|
104
|
+
"5":"y",
|
105
|
+
"5.1":"y",
|
106
|
+
"6":"y"
|
107
|
+
},
|
108
|
+
"opera":{
|
109
|
+
"9":"n",
|
110
|
+
"9.5-9.6":"a",
|
111
|
+
"10.0-10.1":"a",
|
112
|
+
"10.5":"y",
|
113
|
+
"10.6":"y",
|
114
|
+
"11":"y",
|
115
|
+
"11.1":"y",
|
116
|
+
"11.5":"y",
|
117
|
+
"11.6":"y",
|
118
|
+
"12":"y",
|
119
|
+
"12.1":"y",
|
120
|
+
"12.5":"y"
|
121
|
+
},
|
122
|
+
"ios_saf":{
|
123
|
+
"3.2":"n",
|
124
|
+
"4.0-4.1":"y",
|
125
|
+
"4.2-4.3":"y",
|
126
|
+
"5.0-5.1":"y",
|
127
|
+
"6":"y"
|
128
|
+
},
|
129
|
+
"op_mini":{
|
130
|
+
"5.0-7.0":"n"
|
131
|
+
},
|
132
|
+
"android":{
|
133
|
+
"2.1":"n",
|
134
|
+
"2.2":"n",
|
135
|
+
"2.3":"y",
|
136
|
+
"3":"y",
|
137
|
+
"4":"y",
|
138
|
+
"4.1":"y",
|
139
|
+
"4.2":"y"
|
140
|
+
},
|
141
|
+
"bb":{
|
142
|
+
"7":"y",
|
143
|
+
"10":"y"
|
144
|
+
},
|
145
|
+
"op_mob":{
|
146
|
+
"10":"n",
|
147
|
+
"11":"y",
|
148
|
+
"11.1":"y",
|
149
|
+
"11.5":"y",
|
150
|
+
"12":"y",
|
151
|
+
"12.1":"y"
|
152
|
+
},
|
153
|
+
"and_chr":{
|
154
|
+
"0":"y"
|
155
|
+
},
|
156
|
+
"and_ff":{
|
157
|
+
"0":"y"
|
158
|
+
}
|
159
|
+
},
|
160
|
+
"notes":"",
|
161
|
+
"usage_perc_y":82.05,
|
162
|
+
"usage_perc_a":0.03,
|
163
|
+
"ucprefix":false,
|
164
|
+
"parent":"",
|
165
|
+
"keywords":"",
|
166
|
+
"shown":true
|
167
|
+
}
|