angularjs兼容低版本IE浏览器(IE8)


angularjs在1.3之后的版本都是选择放弃对IE8及更低IE版本的支持,但是就目前的开发形式来看,IE8的使用客户还是蛮多的,最近有个项目要求尽量使用angularjs来写,项目一开始,就遇到了这个兼容低版本IE 让人头疼的问题,经过在网上的各种寻找,没找到一篇能让我这个angularjs新手很快解决问题的文,最后是综合了各种文,各种分析总结才解决的

 

首先是版本问题,第一个要解决的就是版本问题,高版本的angularjs已经完全放弃IE了,所以angularjs要选择1.3之前的版本。下面将我在项目中用到的版本罗列下

angularjs  --  v1.2.30

ui-router  -- v0.4.3

jQuery  --  v1.9.1

bootstrap  --  v3.3.7

第二个需要做的事就是

1、需要引入两个js插件  html5shiv.min.js  和    respond.js  , 用于让 IE8 支持 HTML5元素和媒体查询。

2、为了让IE7兼容angularjs,你需要为IE7及以下浏览器添加JSON.stringify方法。json2   https://github.com/douglascrockford/JSON-js

3、在写ng-app的地方加上id=”ng-app”

第三点就是在开发中需要注意到的一些地方

1、为了兼容IE低版本,自定义指令不要采用元素名的形式,最好用属性的形式

2、$http1.5版本前和1.5版本后的写法是不一样的,在这里需要采用如下的写法:

var app = angular.module('myApp', []);
app.controller('siteCtrl', function($scope, $http) {
  $http.get("http://www.runoob.com/try/angularjs/data/sites.php")
  .success(function (response) {$scope.names = response.sites;});
});

3、bootstrap需要注意到的地方就是使用栅格系统时,col-md-在IE8里并不起作用,这时需要用col-xs-  就行了

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM