fergaldoyle / angular.js-ie8-builds

AngularJS 1.3 builds for IE8
171 stars 39 forks source link

AngularJS 1.3 / 1.4 IE8 builds

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.

What you need

Example

<!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 & bower

npm
npm install angularjs-ie8-build
bower
bower install angularjs-ie8-build

// bower install with local name "angular"
bower install angular=angularjs-ie8-build

Careful now

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(){});

Other stuff

Source

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