1

我目前正在研究使用AngularJS(v1.2.16)进行项目的能力,该项目必须与我们的好老歌IE 6+兼容。Angular JS路由不适用于IE 6

我正在测试角度教程与这些不同的环境,我的第一个棘手的问题在于(与许多人一样)Angular路由(第7步)。 一切工作正常的IE 7+,这是一个好的开始,但我必须使它与IE6,即使通过避免与其他解决方案角路由工作。

IE6上的当前行为:所有被问询的页面被重定向到其他页面。

我的问题:有人在IE6上做得成功吗? (我知道它不再由Angular团队测试,虽然它可以在IE7 +上添加一些代码)

谢谢!

这里是我的代码: 的index.html:

<!doctype html> 
    <html lang="en" xmlns:ng="http://angularjs.org" id="ng-app" ng-app="phonecatApp" > 
    <head> 

    <!--[if lte IE 7]> 
     <script src="js/json2.js"></script> 
    <![endif]--> 
    <!--[if lte IE 9]> 
     <script src="js/es5-shim/es5-shim.js"></script> 
    <![endif]--> 
    <!--[if lte IE 8]> 
     <script> 
      document.createElement('ng-include'); 
      document.createElement('ng-pluralize'); 
      document.createElement('ng-view'); 


      // Optionally these for CSS 
      document.createElement('ng:include'); 
      document.createElement('ng:pluralize'); 
      document.createElement('ng:view'); 

     </script> 
    <![endif]--> 
    <meta charset="utf-8"> 
    <title>Google Phone Gallery</title> 
    <link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.css"> 
    <link rel="stylesheet" href="css/app.css"> 
    <script src="bower_components/angular/angular.js"></script> 
    <script src="bower_components/angular-route/angular-route.js"></script> 
    <script src="js/app.js"></script> 
    <script src="js/controllers.js"></script> 
    <script src="js/filters.js"></script> 
</head> 
<body> 

    <div ng-view></div> 

</body> 
</html> 

app.js:

var phonecatApp = angular.module('phonecatApp', [ 
    'ngRoute', 
    'phonecatControllers', 
    'phonecatFilters' 
]); 

phonecatApp.config(['$routeProvider', 
    function($routeProvider) { 
    $routeProvider. 
     when('/phones', { 
     template: '<div ng-include src="\'partials/phone-list.html\'"></div>', 
     controller: 'PhoneListCtrl' 
     }). 
     when('/lol', { 
     template: '<div ng-include src="\'partials/kiddin.html\'"></div>', 
     controller: 'PhoneDetailCtrl' 
     }). 
     otherwise({ 
     redirectTo: '/phones' 
     }); 
    }]); 

kiddin.html:

<span>Kidding me!</span> 

电话list.html:

<div class="container-fluid"> 
    <div class="row"> 
    <div class="col-md-2"> 
     <!--Sidebar content--> 

     Search: <input ng-model="query"> 
     Sort by: 
     <select ng-model="orderProp"> 
     <option value="name">Alphabetical</option> 
     <option value="age">Newest</option> 
     </select> 

    </div> 
    <div class="col-md-10"> 
     <!--Body content--> 

    </div> 
    </div> 
</div> 
+0

看起来你已经看到了角的[IE兼容性页面(https://docs.angularjs.org/guide/ie)和IE7的解决方法。祝你好运与IE6 ... – sfletche

+0

谢谢当我找到解决方案时,我会保持此更新 – GoWaPs

回答

1

AngularJS不支持IE6。

Angular 1.2支持IE8。

角1.3支持IE9及以上。在

更多细节其Internet Explorer Compatibility page

+0

没有明确声明角度不支持IE6在其兼容性页面上。提到支持IE7的解决方法,所以我相信你的回答是不正确的 –

+0

@GregWoods - 没有明确声明Angular不支持IE5(或Mosaic/Netscape),但我猜Angular没有支持任何这些浏览器... – sfletche

+0

一个很好的观点。我自己的(可能是不正确的)假设是IE6与IE7密切相关,所以应该具有类似的兼容性级别。我的(有限的)测试证实,与IE7一起被强制使用的代码也适用于IE6--尽管这绝不是愉快的体验! –