虽然后来微软对浏览器进行了大量的研发,但事实是现代ie浏览器在大多数时候比基于webkit的浏览器以及火狐要落后一些。我们也还需要适配早期版本的ie。下面的方法会让你的网站更快,甚至在微软旗舰浏览器上奇迹般地运行得更好!
htmlshiv.js
remy的html5shiv通过javascript来创建html5元素(如main,header,footer等).在某种程度上通过javascript创建的元素是styleable(可样式)的。我们可以花很多时间来思考其运行原理,但谁会在乎呢?这种策略在所有产品网站上仍然是必须使用的.
代码如下:
<!--[ifltie9]>
<scriptsrc=dist/html5shiv.js></script>
<![endif]-->
selectivizr.js
selectivizr.js是一个不可思议的资源,用于填充不支持的css选择器和属性,包括重要的last-child。在最近的重设计中,我嵌入了selectivizr,并在更老的ie浏览器上也不会错过任何细节。下面是我的实现代码:
代码如下:
<!--[iflteie8]><scriptsrc=js/libs/selectivizr.js></script><![endif]-->
现代项目绝对必须的。只在老ie时才加载
<html>conditionalcomments
下面这样最土的情况你肯定看到过。但无论丑陋与否,事实上这段代码完全按预期的方式运行:
代码如下:
<!doctypehtml>
<!--[ifltie7]><htmlclass=ie6lang=en><![endif]-->
<!--[ifie7]><htmlclass=ie7lang=en><![endif]-->
<!--[ifie8]><htmlclass=ie8lang=en><![endif]-->
<!--[ifie9]><htmlclass=ie9lang=en><![endif]-->
<!--[if(gtie9)|!(ie)]><!--><htmllang=en><!--<![endif]-->
这个代码片段不需要或等待javascript,而且也不需要重量级的javascript库。你定义的styles类立即生效,还没有闪屏。
尽管internetexplorer正在迎头赶上竞争对手,但事实上老的ie浏览器仍然比较流行,特别是在发展中国家。好消息是,这些资源在所有现代浏览器上运行良好,代价也并不高!