對於前端而言,如今不少框架組件都再也不支持IE8,然而拗不過需求,卻總有不少時候必需要支持IE8。AngularJS做爲一個比較好用的前端MVC框架,能有效地提升咱們的開發效率。然而隨着版本的更新,AngularJS再也不支持IE8,這時候就有人開始搗鼓IE8兼容了,好比這個。
html
下面來簡單講一下用法:
前端
一、html的title中加入以下meta:jquery
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
二、引入js:git
<!--[if IE 8]> <script src="//cdnjs.cloudflare.com/ajax/libs/es5-shim/4.0.5/es5-shim.min.js"></script> <script src="//code.jquery.com/jquery-1.11.1.min.js"></script> <style> .ng-hide { display: none !important; } </style> <![endif]--> <script src="angular.js"></script>
這個ie8的兼容版解決了不少AngularJS在IE8中的兼容問題,可是在IE8下的兼容依然會存在一些問題,好比文字圖標在IE8中使用的時候會存在須要反流才能顯示的狀況,不少基於AngularJS的組件在IE8下的異常等等。github
三、自定義指令ajax
好比自定義指令以下:app
var app = angular.module('myApp', []); app.directive('mytable', [ function(){ return { // scope: false, // 默認值,共享父級做用域 // controller: function($scope, $element, $attrs, $transclude) {}, restrict: 'AE', // E = Element, A = Attribute, C = Class, M = Comment template: "test" }; }])
該指令在ie中須要注意的是:框架
(1)指令名全小寫ide
(2)html聲明標籤時不能直接用<mytable></mytable>,而必須是<div mytable></div>ui