1
+ block includes
2
+ include ../_util-fns
3
+ - var _at_angular = ' @angular'
4
+
1
5
:marked
2
6
# Browser support #
3
7
Angular supports most recent browsers. This includes the following specific versions:
@@ -50,88 +54,105 @@ table
50
54
td
51
55
52
56
57
+ .l-sub-section
58
+ :marked
59
+ Angular's continuous integration process runs unit tests of the framework on all of these browsers for every pull request,
60
+ using <a href="https://saucelabs.com/" target="_blank">SauceLabs</a> and
61
+ <a href="https://www.browserstack.com" target="_blank">Browserstack</a>.
62
+
53
63
:marked
54
- To ensure this compatibility, the unit tests of the framework are run on all of them for every pull request.
55
- This is done as part of the continuous integration setup of the project, using [SauceLabs](https://saucelabs.com/) and [Browserstack](https://www.browserstack.com).
56
-
57
64
# Polyfills #
58
65
Angular is built on the latest standards of the web platform.
59
- Targeting such a wide range of browsers can be challenging as they may not support all the features of modern browsers.
66
+ Targeting such a wide range of browsers is challenging because they do not support all features of modern browsers.
60
67
61
-
62
- To fill the gaps, the best solution is to use polyfills which "upgrade" old browsers by adding missing features.
63
- For each browser, some polyfill may be required to run any application, and some may be needed only when some features are used.
68
+ You compensate by loading polyfill scripts ("polyfills") on the host web page (`index.html`)
69
+ that implement missing features in JavaScript.
70
+ + makeExample('quickstart/ts/index.html' , 'polyfills' )( format ='.' )
71
+ :marked
72
+ A particular browser may require at least one polyfill to run _any_ Angular application.
73
+ You may need additional polyfills for specific features.
64
74
65
- .alert.is-helpful
66
- span As a developer, depending on the browsers you target and on the features you use, you'll need to load a set of polyfills.
67
- span The tables below will help you making the right choices.
75
+ The tables below will help you determine which polyfills to load, depending on the browsers you target and the features you use.
68
76
69
- .alert.is-important
70
- span The polyfills documented here are the ones which were identified to run full Angular application.
71
- span Others may be needed if you decide to use extra features which are not supported everywhere.
72
- span On top of that, they will not magically transform an old and slow browser into a modern and fast one.
77
+ .alert.is-important
78
+ :marked
79
+ The suggested polyfills are the ones we know will run full Angular applications.
80
+ You may need additional polyfills to support features not covered by this list.
81
+ Note that polyfills cannot magically transform an old, slow browser into a modern, fast one.
73
82
74
83
:marked
75
84
## Mandatory polyfills ##
76
- For each supported browser, these are the polyfills which are required to run an application:
85
+ These are the polyfills required to run an Angular application on each supported browser :
77
86
78
87
table
79
- tr
88
+ tr( style = "vertical-align: top" )
80
89
th Browsers (desktop & mobile)
81
90
th Polyfills required
82
- tr
91
+ tr( style = "vertical-align: top" )
83
92
td Chrome, Firefox, Edge, Safari 9+
84
93
td None
85
- tr
94
+ tr( style = "vertical-align: top" )
86
95
td Safari 7 & 8, IE10 & 11, Android 4.1+
87
- td ES6
88
- tr
96
+ td
97
+ :marked
98
+ [ES6](#core-es6)
99
+ tr( style ="vertical-align: top" )
89
100
td IE9
90
- td ES6<br >classList
91
-
92
-
101
+ td
102
+ :marked
103
+ [ES6<br>classList](#classlist)
104
+
93
105
:marked
94
106
## Optional browser features to polyfill ##
95
- In addition to the mandatory polyfills, some features of Angular may require some extra polyfills.
107
+ Some features of Angular may require additional polyfills.
96
108
97
- For example, the animations use the standard web animation API, which is only available in Chrome and Firefox today.
98
- In order to use this feature in other browsers, the correct polyfill is needed .
109
+ For example, the animations library relies on the standard web animation API, which is only available in Chrome and Firefox today.
110
+ You'll need a polyfill to use animations in other browsers.
99
111
100
112
Here are the features which may require additional polyfills:
101
113
102
114
table
103
- tr
115
+ tr( style = "vertical-align: top" )
104
116
th Feature
105
117
th Polyfill
106
- th Browsers (desktop & mobile)
107
- tr
118
+ th( style ="width: 50%" ) Browsers (desktop & mobile)
119
+
120
+ tr( style ="vertical-align: top" )
108
121
td
109
122
a( href ="./animations.html" ) Animations
110
- td Web Animations
123
+ td
124
+ :marked
125
+ [Web Animations](#web-animations)
111
126
td All but Chrome and Firefox<br >Not supported in IE9
112
- tr
113
- td
114
- a( href ="../api/common/index/DatePipe-class.html" ) Date
127
+ tr( style = "vertical-align: top" )
128
+ td
129
+ a( href ="../api/common/index/DatePipe-class.html" target = "_blank" ) Date
115
130
span ,
116
- a( href ="../api/common/index/CurrencyPipe-class.html" ) currency
131
+ a( href ="../api/common/index/CurrencyPipe-class.html" target = "_blank" ) currency
117
132
span ,
118
- a( href ="../api/common/index/DecimalPipe-class.html" ) decimal
133
+ a( href ="../api/common/index/DecimalPipe-class.html" target = "_blank" ) decimal
119
134
span and
120
- a( href ="../api/common/index/PercentPipe-class.html" ) percent
135
+ a( href ="../api/common/index/PercentPipe-class.html" target = "_blank" ) percent
121
136
span pipes
122
- td Intl API
137
+ td
138
+ :marked
139
+ [Intl API](#intl)
123
140
td All but Chrome, Firefox, Edge and IE11
124
- tr
141
+ tr( style = "vertical-align: top" )
125
142
td
126
- a( href ="../api/common/index/NgClass-directive.html" ) NgClass
143
+ a( href ="../api/common/index/NgClass-directive.html" target = "_blank" ) NgClass
127
144
span on SVG elements
128
- td classList
145
+ td
146
+ :marked
147
+ [classList](#classlist)
129
148
td IE10, IE11
130
- tr
149
+ tr( style = "vertical-align: top" )
131
150
td
132
151
a( href ="./server-communication.html" ) Http
133
152
span when sending and receiving binary data
134
- td Typed Arrays<br >Blob<br >FormData
153
+ td
154
+ :marked
155
+ [Typed Array](#typedarray) <br>[Blob](#blob)<br>[FormData](#formdata)
135
156
td IE 9
136
157
137
158
:marked
@@ -141,51 +162,43 @@ table
141
162
table
142
163
tr
143
164
th Polyfill
144
- th Library
145
165
th Licence
146
166
th Size*
147
167
tr
148
- td ES6
149
- td
150
- a( href ="https://github.com/zloirock/core-js" ) https://github.com/zloirock/core-js
168
+ td
169
+ a#core-es6 ( href ="https://github.com/zloirock/core-js" target ="_blank" ) ES6
151
170
td MIT
152
171
td 27.4KB
153
172
tr
154
- td classList
155
173
td
156
- a ( href ="https://github.com/eligrey/classList.js" ) https://github.com/eligrey/ classList.js
174
+ a #classlist ( href ="https://github.com/eligrey/classList.js" target = "_blank" ) classList
157
175
td Public domain
158
176
td 1KB
159
177
tr
160
- td Intl
161
178
td
162
- a ( href ="https://github.com/andyearnshaw/Intl.js " ) https://github.com/andyearnshaw/ Intl.js
179
+ a #intl ( href ="https://github.com/andyearnshaw/Intl.js" target = "_blank" ) Intl
163
180
td MIT / Unicode licence
164
181
td 13.5KB
165
182
tr
166
- td Web Animations
167
- td
168
- a( href ="https://github.com/web-animations/web-animations-js" ) https://github.com/web-animations/web-animations-js
183
+ td
184
+ a#web-animations ( href ="https://github.com/web-animations/web-animations-js" target ="_blank" ) Web Animations
169
185
td Apache
170
186
td 14.8KB
171
187
tr
172
- td Typed Arrays
173
188
td
174
- a( href ="https://github.com/inexorabletash/polyfill/blob/master/typedarray.js" ) https://github.com/inexorabletash/polyfill/blob/master/typedarray.js
189
+ a#typedarray ( href ="https://github.com/inexorabletash/polyfill/blob/master/typedarray.js" target = "_blank" ) Typed Array
175
190
td MIT
176
191
td 4KB
177
192
tr
178
- td Blob
179
- td
180
- a( href ="https://github.com/eligrey/Blob.js" ) https://github.com/eligrey/Blob.js
193
+ td
194
+ a#blob ( href ="https://github.com/eligrey/Blob.js" target ="_blank" ) Blob
181
195
td MIT
182
196
td 1.3KB
183
197
tr
184
- td FormData
185
- td
186
- a( href ="https://github.com/francois2metz/html5-formdata" ) https://github.com/francois2metz/html5-formdata
198
+ td
199
+ a#formdata ( href ="https://github.com/francois2metz/html5-formdata" target ="_blank" ) FormData
187
200
td MIT
188
201
td 0.4KB
189
202
190
203
:marked
191
- *Figures are for minified and gzipped code, computed with [ http://closure-compiler.appspot.com/home](http:// closure- compiler.appspot.com/home)
204
+ * Figures are for minified and gzipped code, computed with the <a href=" http://closure-compiler.appspot.com/home" target="_blank"> closure compiler</a>
0 commit comments