Angular JS路由不适用于IE 6

时间:2014-05-21 16:33:30

标签: angularjs internet-explorer-8 internet-explorer-7 internet-explorer-6 angularjs-routing

我目前正在研究将AngularJS(v1.2.16)用于项目的能力,该项目必须与我们的好老歌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>

phone-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>

1 个答案:

答案 0 :(得分:1)

AngularJS不支持IE6。

Angular 1.2支持IE8。

Angular 1.3支持IE9及以上版本。

有关Internet Explorer Compatibility page

的详细信息