视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
ie6下的背景图片缓存
2020-11-27 14:45:25 责编:小采
文档


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

下载本文
显示全文
专题