雖然後來微軟對浏覽器進行了大量的研發,但事實是現代IE浏覽器在大多數時候比基於webkit的浏覽器以及火狐要落後一些。我們也還需要適配早期版本的IE。下面的方法會讓你的網站更快,甚至在微軟旗艦浏覽器上奇跡般地運行得更好!
htmlshiv.js
Remy的 HTML5shiv通過JavaScript 來創建HTML5元素(如 main, header, footer等).在某種程度上通過JavaScript 創建的元素是 styleable(可樣式)的。我們可以花很多時間來思考其運行原理,但誰會在乎呢?這種策略在所有產品網站上仍然是必須使用的.
復制代碼代碼如下:
<!--[if lt IE 9]>
<script src="dist/html5shiv.js"></script>
<![endif]-->
selectivizr.js
Selectivizr.js 是一個不可思議的資源,用於填充不支持的CSS選擇器和屬性,包括重要的 last-child。在最近的重設計中,我嵌入了 selectivizr,並在更老的 IE 浏覽器上也不會錯過任何細節。下面是我的實現代碼:
復制代碼代碼如下:
<!--[if lte IE 8]><script src="js/libs/selectivizr.js"></script><![endif]-->
現代項目絕對必須的。只在老IE時才加載
<html> Conditional Comments
下面這樣最土的情況你肯定看到過。但無論丑陋與否,事實上這段代碼完全按預期的方式運行:
復制代碼代碼如下:
<!DOCTYPE html>
<!--[if lt IE 7 ]> <html class="ie6" lang="en"> <![endif]-->
<!--[if IE 7 ]> <html class="ie7" lang="en"> <![endif]-->
<!--[if IE 8 ]> <html class="ie8" lang="en"> <![endif]-->
<!--[if IE 9 ]> <html class="ie9" lang="en"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--> <html lang="en"> <!--<![endif]-->
這個代碼片段不需要或等待JavaScript,而且也不需要重量級的JavaScript庫。你定義的styles類立即生效,還沒有閃屏。
盡管 Internet Explorer 正在迎頭趕上競爭對手,但事實上老的IE浏覽器仍然比較流行,特別是在發展中國家。好消息是,這些資源在所有現代浏覽器上運行良好,代價也並不高!