Search code examples
internet-explorer-8cross-browserinternet-explorer-7angularjs

Why does ng-class="ng-app" break AngularJS?


To get AngularJS to work in IE7 and IE8, I add id="ng-app" and class="ng-app" to my ng-app element:

<html id="ng-app" class="ng-app" ng-app="myApp">
   <div ng-view></div>
</html>

This has always worked in the past, but now I've added class="ng-app" to two different projects, and in both the view no longer renders in any browser. Has the way to do IE7/8 compatibility changed? I'm using version 1.0.2 from the CDN.

Thank you.


Solution

  • Edit note: Add doctype tag will reduce some issues. Thanks @Mike Pateras

     <!doctype html>
    

    Original:

    try this

    <html lang="en" class="ng-app:myapp" id="ng-app" ng-app="myapp" xmlns:ng="http://angularjs.org">
         <head>    
            <!--[if lt IE 9]>
              <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
            <![endif]-->
            <!--[if lte IE 8]>
              <script>
                document.createElement('ng-include');
                document.createElement('ng-pluralize');
                document.createElement('ng-view');
                document.createElement('ng:include');
                document.createElement('ng:pluralize');
                document.createElement('ng:view');
              </script>
            <![endif]-->
            <!--[if lt IE 8]>
              <script src="https://cdnjs.cloudflare.com/ajax/libs/json2/20150503/json2.min.js"></script>
            <![endif]-->
          </head>