IE6背景图片缓存bug解决方法
2009-04-29 20:37
483 查看
背景图片缓存bug是IE6众多常见bug之一,在CSS中定义DOM元素的背景图片,当元素处于静止状态时,此bug不易被发现,但当使用事件触发脚本动态改变元素的背景图片时,背景图片会出现闪烁的现象,如:
当鼠标滑过时,背景图片会出现闪烁。导致该问题的原因在于IE6在每次加载CSS样式的时候都从服务器获取图片,只要告知浏览器第一次从服务器加载图片以后就从缓存中加载图片即可。
解决办法:
方法一:使用Javascript脚本
只要在页面加载时或页面加载后执行以上方法即可!
方法二:使用CSS表达式
注:CSS表达式仅IE支持,不过此bug也只有IE6存在!
以上任意一种方法均可解决此问题,由于document.execCommand是针对浏览器的命令,所以当在某个页面执行后,其所有的子窗口页面均不再存在此问题,所以不用在每个页面上都执行一次!
a{ background:url(images/normal.gif); } a:hover { background:url(images/hover.gif); }
当鼠标滑过时,背景图片会出现闪烁。导致该问题的原因在于IE6在每次加载CSS样式的时候都从服务器获取图片,只要告知浏览器第一次从服务器加载图片以后就从缓存中加载图片即可。
解决办法:
方法一:使用Javascript脚本
<!--[if IE 6]> <script type="text/javascript"><!-- document.execCommand("BackgroundImageCache", false, true); // --></script> <![endif]-->
只要在页面加载时或页面加载后执行以上方法即可!
方法二:使用CSS表达式
html {} { filter:expression(document.execCommand("BackgroundImageCache", false, true)); }
注:CSS表达式仅IE支持,不过此bug也只有IE6存在!
以上任意一种方法均可解决此问题,由于document.execCommand是针对浏览器的命令,所以当在某个页面执行后,其所有的子窗口页面均不再存在此问题,所以不用在每个页面上都执行一次!
相关文章推荐
- IE6默认不缓存背景图片,引起鼠标抖动的解决方法
- IE6默认不缓存背景图片,引起鼠标抖动的解决方法
- 解决IE6背景图片不缓存的BUG
- 解决IE6背景图片不能缓存的bug
- 解决IE6背景图片不缓存的BUG
- 解决IE6背景图片不缓存的BUG
- 解决IE6下默认不缓存背景图片的bug
- 解决IE6背景图片不缓存的BUG
- IE6下CSS背景图片有闪动BUG解决 图片缓存
- IE6背景图片不缓存问题解决方案及图片使用策略多个方法小结
- ie6背景图片不缓存bug处理document.execCommand('BackgroundImageCache', false, true)
- IE6背景图片不显示,解决方法
- 解决IE6下PNG图片背景不透明的三种方法(CSS/JS/JQuery)
- document.execCommand("BackgroundImageCache",false,true)解决ie6下的背景图片缓存问题
- .document.execCommand("BackgroundImageCache",false,true)解决ie6下的背景图片缓存问题
- 链接伪类(:hover)CSS背景图片有闪动BUG的解决方法
- IE6下CSS图片缓存问题解决方法
- 解决CSS背景图片闪动和重复加载的IE6BUG
- IE6 png图片bug的解决方法