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--儘管這絕不是愉快的體驗! –