ie6下的背景图片缓存
2016-06-21来源:易贤网

IE6下CSS背景图片闪烁的Bug(ie6下的背景图片缓存问题)

IE6下的背景图片每次使用都会重新发送请求(非本地),连一个hover效果时候同样的背景图片仅仅位置不同而已,ie6都会再次发送请求,这个令人崩溃的事情需要解决掉:

对于ie来说,filter:expression 很强大,能够实现的功能超级多,但是更对于视效率如生命的程序员来说,它的效率不敢令人恭维,所以有人会用css方法实现ie6下背景图片缓存,但是这种人也就是崇拜微软的强大而已:

代码如下:

html {filter:expression(document.execCommand("BackgroundImageCache", false, true));} 当然缺点:可能会使整个页面的加载速度变慢

大多数人都会选择js方法实现:

代码如下:

<script type='text/javascript'>

document.execCommand("BackgroundImageCache", false, true);

</script>

缺点:如果在firefox等浏览器下执行会出错。

所以需要判断是否为IE浏览器,使用jQuery提供的判断方法如下:

代码如下:

<script type='text/javascript'>

if ($.browser.msie) {

document.execCommand("BackgroundImageCache", false, true);

}

</script>

更简单的就是使用IE的条件注释:

代码如下:

<!--[if lt IE 7]>

<script>document.execCommand("BackgroundImageCache",false,true);</script>

<![endif]-->

推荐信息