| 
									
										
										
										
											2016-09-09 22:21:40 -04:00
										 |  |  | block includes | 
					
						
							|  |  |  |   include ../_util-fns | 
					
						
							|  |  |  |   - var _at_angular = '@angular' | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-09 19:02:02 +02:00
										 |  |  | :marked | 
					
						
							|  |  |  |   # Browser support #   | 
					
						
							|  |  |  |   Angular supports most recent browsers. This includes the following specific versions: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | table | 
					
						
							|  |  |  |   tr | 
					
						
							|  |  |  |     th Chrome | 
					
						
							|  |  |  |     th Firefox | 
					
						
							|  |  |  |     th Edge | 
					
						
							|  |  |  |     th IE | 
					
						
							|  |  |  |     th Safari | 
					
						
							|  |  |  |     th iOS | 
					
						
							|  |  |  |     th Android | 
					
						
							|  |  |  |     th IE mobile | 
					
						
							|  |  |  |   tr | 
					
						
							|  |  |  |     td latest | 
					
						
							|  |  |  |     td latest | 
					
						
							|  |  |  |     td 14 | 
					
						
							|  |  |  |     td 11 | 
					
						
							| 
									
										
										
										
											2016-09-21 20:30:03 +02:00
										 |  |  |     td 10 | 
					
						
							|  |  |  |     td 10 | 
					
						
							| 
									
										
										
										
											2016-09-09 19:02:02 +02:00
										 |  |  |     td Marshmallow (6.0) | 
					
						
							|  |  |  |     td 11 | 
					
						
							|  |  |  |   tr | 
					
						
							|  |  |  |     td | 
					
						
							|  |  |  |     td | 
					
						
							|  |  |  |     td 13 | 
					
						
							|  |  |  |     td 10 | 
					
						
							| 
									
										
										
										
											2016-09-21 20:30:03 +02:00
										 |  |  |     td 9 | 
					
						
							|  |  |  |     td 9 | 
					
						
							| 
									
										
										
										
											2016-09-09 19:02:02 +02:00
										 |  |  |     td Lollipop<br>(5.0, 5.1) | 
					
						
							|  |  |  |     td | 
					
						
							|  |  |  |   tr | 
					
						
							|  |  |  |     td | 
					
						
							|  |  |  |     td | 
					
						
							|  |  |  |     td | 
					
						
							|  |  |  |     td 9 | 
					
						
							| 
									
										
										
										
											2016-09-21 20:30:03 +02:00
										 |  |  |     td 8 | 
					
						
							|  |  |  |     td 8 | 
					
						
							| 
									
										
										
										
											2016-09-09 19:02:02 +02:00
										 |  |  |     td KitKat<br>(4.4) | 
					
						
							|  |  |  |     td | 
					
						
							|  |  |  |   tr | 
					
						
							|  |  |  |     td | 
					
						
							|  |  |  |     td | 
					
						
							|  |  |  |     td | 
					
						
							|  |  |  |     td | 
					
						
							| 
									
										
										
										
											2016-09-21 20:30:03 +02:00
										 |  |  |     td 7 | 
					
						
							|  |  |  |     td 7 | 
					
						
							| 
									
										
										
										
											2016-09-09 19:02:02 +02:00
										 |  |  |     td Jelly Bean<br>(4.1, 4.2, 4.3) | 
					
						
							|  |  |  |     td | 
					
						
							|  |  |  |      | 
					
						
							|  |  |  |      | 
					
						
							| 
									
										
										
										
											2016-09-09 22:21:40 -04:00
										 |  |  | .l-sub-section | 
					
						
							|  |  |  |   :marked | 
					
						
							|  |  |  |     Angular's continuous integration process runs unit tests of the framework on all of these browsers for every pull request,  | 
					
						
							|  |  |  |     using <a href="https://saucelabs.com/" target="_blank">SauceLabs</a> and  | 
					
						
							|  |  |  |     <a href="https://www.browserstack.com" target="_blank">Browserstack</a>. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-09 19:02:02 +02:00
										 |  |  | :marked | 
					
						
							|  |  |  |   # Polyfills # | 
					
						
							|  |  |  |   Angular is built on the latest standards of the web platform. | 
					
						
							| 
									
										
										
										
											2016-09-09 22:21:40 -04:00
										 |  |  |   Targeting such a wide range of browsers is challenging because they do not support all features of modern browsers. | 
					
						
							| 
									
										
										
										
											2016-09-09 19:02:02 +02:00
										 |  |  |    | 
					
						
							| 
									
										
										
										
											2016-09-09 22:21:40 -04:00
										 |  |  |   You compensate by loading polyfill scripts ("polyfills") on the host web page (`index.html`) | 
					
						
							|  |  |  |   that implement missing features in JavaScript. | 
					
						
							|  |  |  | +makeExample('quickstart/ts/index.html', 'polyfills')(format='.') | 
					
						
							|  |  |  | :marked | 
					
						
							|  |  |  |   A particular browser may require at least one polyfill to run _any_ Angular application.  | 
					
						
							|  |  |  |   You may need additional polyfills for specific features. | 
					
						
							| 
									
										
										
										
											2016-09-09 19:02:02 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-09 22:21:40 -04:00
										 |  |  |   The tables below will help you determine which polyfills to load, depending on the browsers you target and the features you use. | 
					
						
							| 
									
										
										
										
											2016-09-09 19:02:02 +02:00
										 |  |  |    | 
					
						
							| 
									
										
										
										
											2016-09-09 22:21:40 -04:00
										 |  |  | .alert.is-important | 
					
						
							|  |  |  |   :marked | 
					
						
							|  |  |  |     The suggested polyfills are the ones we know will run full Angular applications. | 
					
						
							|  |  |  |     You may need additional polyfills to support features not covered by this list. | 
					
						
							|  |  |  |     Note that polyfills cannot magically transform an old, slow browser into a modern, fast one. | 
					
						
							| 
									
										
										
										
											2016-09-09 19:02:02 +02:00
										 |  |  |    | 
					
						
							|  |  |  | :marked | 
					
						
							|  |  |  |   ## Mandatory polyfills ## | 
					
						
							| 
									
										
										
										
											2016-09-09 22:21:40 -04:00
										 |  |  |   These are the polyfills required to run an Angular application on each supported browser: | 
					
						
							| 
									
										
										
										
											2016-09-09 19:02:02 +02:00
										 |  |  |    | 
					
						
							|  |  |  | table | 
					
						
							| 
									
										
										
										
											2016-09-09 22:21:40 -04:00
										 |  |  |   tr(style="vertical-align: top")  | 
					
						
							| 
									
										
										
										
											2016-09-09 19:02:02 +02:00
										 |  |  |     th Browsers (desktop & mobile) | 
					
						
							|  |  |  |     th Polyfills required | 
					
						
							| 
									
										
										
										
											2016-09-09 22:21:40 -04:00
										 |  |  |   tr(style="vertical-align: top")  | 
					
						
							| 
									
										
										
										
											2016-09-09 19:02:02 +02:00
										 |  |  |     td Chrome, Firefox, Edge, Safari 9+ | 
					
						
							|  |  |  |     td None | 
					
						
							| 
									
										
										
										
											2016-09-09 22:21:40 -04:00
										 |  |  |   tr(style="vertical-align: top")  | 
					
						
							| 
									
										
										
										
											2016-09-09 19:02:02 +02:00
										 |  |  |     td Safari 7 & 8, IE10 & 11, Android 4.1+ | 
					
						
							| 
									
										
										
										
											2016-09-09 22:21:40 -04:00
										 |  |  |     td | 
					
						
							|  |  |  |       :marked | 
					
						
							|  |  |  |         [ES6](#core-es6) | 
					
						
							|  |  |  |   tr(style="vertical-align: top")  | 
					
						
							| 
									
										
										
										
											2016-09-09 19:02:02 +02:00
										 |  |  |     td IE9 | 
					
						
							| 
									
										
										
										
											2016-09-09 22:21:40 -04:00
										 |  |  |     td | 
					
						
							|  |  |  |       :marked | 
					
						
							|  |  |  |         [ES6<br>classList](#classlist) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-09-09 19:02:02 +02:00
										 |  |  | :marked | 
					
						
							|  |  |  |   ## Optional browser features to polyfill ## | 
					
						
							| 
									
										
										
										
											2016-09-09 22:21:40 -04:00
										 |  |  |   Some features of Angular may require additional polyfills. | 
					
						
							| 
									
										
										
										
											2016-09-09 19:02:02 +02:00
										 |  |  |    | 
					
						
							| 
									
										
										
										
											2016-09-09 22:21:40 -04:00
										 |  |  |   For example, the animations library relies on the standard web animation API, which is only available in Chrome and Firefox today. | 
					
						
							|  |  |  |   You'll need a polyfill to use animations in other browsers. | 
					
						
							| 
									
										
										
										
											2016-09-09 19:02:02 +02:00
										 |  |  |    | 
					
						
							|  |  |  |   Here are the features which may require additional polyfills: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | table | 
					
						
							| 
									
										
										
										
											2016-09-09 22:21:40 -04:00
										 |  |  |   tr(style="vertical-align: top")  | 
					
						
							| 
									
										
										
										
											2016-09-09 19:02:02 +02:00
										 |  |  |     th Feature | 
					
						
							|  |  |  |     th Polyfill | 
					
						
							| 
									
										
										
										
											2016-09-09 22:21:40 -04:00
										 |  |  |     th(style="width: 50%")  Browsers (desktop & mobile) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   tr(style="vertical-align: top")  | 
					
						
							| 
									
										
										
										
											2016-09-09 19:02:02 +02:00
										 |  |  |     td | 
					
						
							|  |  |  |       a(href="./animations.html") Animations | 
					
						
							| 
									
										
										
										
											2016-09-09 22:21:40 -04:00
										 |  |  |     td | 
					
						
							|  |  |  |       :marked | 
					
						
							|  |  |  |         [Web Animations](#web-animations) | 
					
						
							| 
									
										
										
										
											2016-09-09 19:02:02 +02:00
										 |  |  |     td All but Chrome and Firefox<br>Not supported in IE9 | 
					
						
							| 
									
										
										
										
											2016-09-09 22:21:40 -04:00
										 |  |  |   tr(style="vertical-align: top")  | 
					
						
							|  |  |  |     td | 
					
						
							|  |  |  |       a(href="../api/common/index/DatePipe-class.html" target="_blank") Date | 
					
						
							| 
									
										
										
										
											2016-09-09 19:02:02 +02:00
										 |  |  |       span ,   | 
					
						
							| 
									
										
										
										
											2016-09-09 22:21:40 -04:00
										 |  |  |       a(href="../api/common/index/CurrencyPipe-class.html" target="_blank") currency | 
					
						
							| 
									
										
										
										
											2016-09-09 19:02:02 +02:00
										 |  |  |       span ,  | 
					
						
							| 
									
										
										
										
											2016-09-09 22:21:40 -04:00
										 |  |  |       a(href="../api/common/index/DecimalPipe-class.html" target="_blank") decimal | 
					
						
							| 
									
										
										
										
											2016-09-09 19:02:02 +02:00
										 |  |  |       span  and  | 
					
						
							| 
									
										
										
										
											2016-09-09 22:21:40 -04:00
										 |  |  |       a(href="../api/common/index/PercentPipe-class.html" target="_blank") percent | 
					
						
							| 
									
										
										
										
											2016-09-09 19:02:02 +02:00
										 |  |  |       span  pipes | 
					
						
							| 
									
										
										
										
											2016-09-09 22:21:40 -04:00
										 |  |  |     td | 
					
						
							|  |  |  |       :marked | 
					
						
							|  |  |  |         [Intl API](#intl) | 
					
						
							| 
									
										
										
										
											2016-09-21 20:30:03 +02:00
										 |  |  |     td All but Chrome, Firefox, Edge, IE11 and Safari 10 | 
					
						
							| 
									
										
										
										
											2016-09-09 22:21:40 -04:00
										 |  |  |   tr(style="vertical-align: top")  | 
					
						
							| 
									
										
										
										
											2016-09-09 19:02:02 +02:00
										 |  |  |     td  | 
					
						
							| 
									
										
										
										
											2016-09-09 22:21:40 -04:00
										 |  |  |       a(href="../api/common/index/NgClass-directive.html" target="_blank") NgClass | 
					
						
							| 
									
										
										
										
											2016-09-09 19:02:02 +02:00
										 |  |  |       span  on SVG elements | 
					
						
							| 
									
										
										
										
											2016-09-09 22:21:40 -04:00
										 |  |  |     td  | 
					
						
							|  |  |  |       :marked | 
					
						
							|  |  |  |         [classList](#classlist) | 
					
						
							| 
									
										
										
										
											2016-09-09 19:02:02 +02:00
										 |  |  |     td IE10, IE11 | 
					
						
							| 
									
										
										
										
											2016-09-09 22:21:40 -04:00
										 |  |  |   tr(style="vertical-align: top")  | 
					
						
							| 
									
										
										
										
											2016-09-09 19:02:02 +02:00
										 |  |  |     td | 
					
						
							|  |  |  |       a(href="./server-communication.html") Http | 
					
						
							|  |  |  |       span  when sending and receiving binary data | 
					
						
							| 
									
										
										
										
											2016-09-09 22:21:40 -04:00
										 |  |  |     td  | 
					
						
							|  |  |  |       :marked | 
					
						
							|  |  |  |         [Typed Array](#typedarray) <br>[Blob](#blob)<br>[FormData](#formdata) | 
					
						
							| 
									
										
										
										
											2016-09-09 19:02:02 +02:00
										 |  |  |     td IE 9 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | :marked | 
					
						
							|  |  |  |   ## Suggested polyfills ## | 
					
						
							|  |  |  |   Below are the polyfills which are used to test the framework itself. They are a good starting point for an application.  | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | table | 
					
						
							|  |  |  |   tr | 
					
						
							|  |  |  |     th Polyfill | 
					
						
							|  |  |  |     th Licence | 
					
						
							|  |  |  |     th Size* | 
					
						
							|  |  |  |   tr | 
					
						
							| 
									
										
										
										
											2016-09-09 22:21:40 -04:00
										 |  |  |     td | 
					
						
							|  |  |  |       a#core-es6(href="https://github.com/zloirock/core-js" target="_blank") ES6 | 
					
						
							| 
									
										
										
										
											2016-09-09 19:02:02 +02:00
										 |  |  |     td MIT | 
					
						
							|  |  |  |     td 27.4KB | 
					
						
							|  |  |  |   tr | 
					
						
							|  |  |  |     td | 
					
						
							| 
									
										
										
										
											2016-09-09 22:21:40 -04:00
										 |  |  |      a#classlist(href="https://github.com/eligrey/classList.js" target="_blank") classList | 
					
						
							| 
									
										
										
										
											2016-09-09 19:02:02 +02:00
										 |  |  |     td Public domain | 
					
						
							|  |  |  |     td 1KB | 
					
						
							|  |  |  |   tr | 
					
						
							|  |  |  |     td | 
					
						
							| 
									
										
										
										
											2016-09-09 22:21:40 -04:00
										 |  |  |      a#intl(href="https://github.com/andyearnshaw/Intl.js" target="_blank") Intl | 
					
						
							| 
									
										
										
										
											2016-09-09 19:02:02 +02:00
										 |  |  |     td MIT / Unicode licence | 
					
						
							|  |  |  |     td 13.5KB | 
					
						
							|  |  |  |   tr | 
					
						
							| 
									
										
										
										
											2016-09-09 22:21:40 -04:00
										 |  |  |     td  | 
					
						
							|  |  |  |       a#web-animations(href="https://github.com/web-animations/web-animations-js" target="_blank") Web Animations | 
					
						
							| 
									
										
										
										
											2016-09-09 19:02:02 +02:00
										 |  |  |     td Apache | 
					
						
							|  |  |  |     td 14.8KB | 
					
						
							|  |  |  |   tr | 
					
						
							|  |  |  |     td | 
					
						
							| 
									
										
										
										
											2016-09-09 22:21:40 -04:00
										 |  |  |       a#typedarray(href="https://github.com/inexorabletash/polyfill/blob/master/typedarray.js" target="_blank") Typed Array | 
					
						
							| 
									
										
										
										
											2016-09-09 19:02:02 +02:00
										 |  |  |     td MIT | 
					
						
							|  |  |  |     td 4KB | 
					
						
							|  |  |  |   tr | 
					
						
							| 
									
										
										
										
											2016-09-09 22:21:40 -04:00
										 |  |  |     td  | 
					
						
							|  |  |  |       a#blob(href="https://github.com/eligrey/Blob.js" target="_blank") Blob | 
					
						
							| 
									
										
										
										
											2016-09-09 19:02:02 +02:00
										 |  |  |     td MIT | 
					
						
							|  |  |  |     td 1.3KB | 
					
						
							|  |  |  |   tr | 
					
						
							| 
									
										
										
										
											2016-09-09 22:21:40 -04:00
										 |  |  |     td  | 
					
						
							|  |  |  |       a#formdata(href="https://github.com/francois2metz/html5-formdata" target="_blank") FormData | 
					
						
							| 
									
										
										
										
											2016-09-09 19:02:02 +02:00
										 |  |  |     td MIT | 
					
						
							|  |  |  |     td 0.4KB | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | :marked | 
					
						
							| 
									
										
										
										
											2016-09-09 22:21:40 -04:00
										 |  |  |   * Figures are for minified and gzipped code, computed with the <a href="http://closure-compiler.appspot.com/home" target="_blank">closure compiler</a> |