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