• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • YouClaw
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
manon申娟
博客园    首页    新随笔    联系   管理    订阅  订阅

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-  就行了

 

posted on 2017-11-24 17:17  bug娟  阅读(5863)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3