AngularJS 1.3 / 1.4 does not work with IE8. With these custom builds you get good IE8 support. I can't guarantee that everything will work but anything I've tried works fine.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta charset="utf-8" />
<title>Angular 1.4 IE8</title>
<!--[if IE 8]>
<script src="https://github.com/fergaldoyle/angular.js-ie8-builds/raw/master//cdnjs.cloudflare.com/ajax/libs/es5-shim/4.0.5/es5-shim.min.js"></script>
<script src="https://github.com/fergaldoyle/angular.js-ie8-builds/raw/master//code.jquery.com/jquery-1.11.1.min.js"></script>
<style>
.ng-hide {
display: none !important;
}
</style>
<![endif]-->
<script src="https://github.com/fergaldoyle/angular.js-ie8-builds/raw/master/angular.js"></script>
</head>
<body ng-app="someApp">
</body>
</html>
npm install angularjs-ie8-build
bower install angularjs-ie8-build
// bower install with local name "angular"
bower install angular=angularjs-ie8-build
When using $q
promise methods catch
or finally
in IE8 use bracket notation instead of dot notation. Same goes for $http
delete
method. IE8 does not like dot notation with these reserved words.
// no
promise.catch(function(){});
// yes
promise['catch'](function(){});
<div ng-view>
instead of custom element <ng-view>
document.createElement('ng-view');
ng-style
instead of style="{{ someCss }}"
The source is maintained here:
https://github.com/fergaldoyle/angular.js/tree/ie8-compat
https://github.com/fergaldoyle/angular.js/tree/ie8-compat-1.4