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]-->

广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!