打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
IE6背景图片缓存bug解决方法 - boral_li的专栏

IE6背景图片缓存bug解决方法收藏

    背景图片缓存bug是IE6众多常见bug之一,在CSS中定义DOM元素的背景图片,当元素处于静止状态时,此bug不易被发现,但当使用事件触发脚本动态改变元素的背景图片时,背景图片会出现闪烁的现象,如:

  1. a{ background:url(images/normal.gif); }   
  2. a:hover { background:url(images/hover.gif); }  

 

当鼠标滑过时,背景图片会出现闪烁。导致该问题的原因在于IE6在每次加载CSS样式的时候都从服务器获取图片,只要告知浏览器第一次从服务器加载图片以后就从缓存中加载图片即可。

   解决办法:

   方法一:使用Javascript脚本

 

  1. <!--[if IE 6]>  
  2. <script type="text/javascript"><!--  
  3. document.execCommand("BackgroundImageCache"falsetrue);  
  4. // --></script>  
  5. <![endif]-->  

 

   只要在页面加载时或页面加载后执行以上方法即可!

方法二:使用CSS表达式

  

  1. html {}  
  2. {   
  3. filter:expression(document.execCommand("BackgroundImageCache", false, true));   
  4. }  

 

注:CSS表达式仅IE支持,不过此bug也只有IE6存在!

    以上任意一种方法均可解决此问题,由于document.execCommand是针对浏览器的命令,所以当在某个页面执行后,其所有的子窗口页面均不再存在此问题,所以不用在每个页面上都执行一次!

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
IE 6 不缓存css背景图
WEB前端优化的体会(三)
高性能WEB开发之图片篇
IE6中不读取CSS样式,或不能正常显示背景图片问题
yahoo优化插件-- YSlow
前端的性能优化都有哪些方法??
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服