Chinaunix首页 | 论坛 | 博客

lua

  • 博客访问: 622985
  • 博文数量: 91
  • 博客积分: 10035
  • 博客等级: 上将
  • 技术积分: 3490
  • 用 户 组: 普通用户
  • 注册时间: 2006-02-04 17:40
文章分类

全部博文(91)

文章存档

2012年(1)

2011年(2)

2009年(13)

2008年(75)

我的朋友

分类: 系统运维

2008-10-01 22:00:59

很多时候我们要给一些按钮或是img设置背景,而为了达到数据与表现样式分离的效果,通常背景样式都是在CSS里设定的,但是这个行为在IE会有一个Bug,那就是因为IE默认情况下不缓存背景图片,所以当鼠标在有CSS背景的按钮或是图片上移动时,图片会闪烁甚至鼠标会出现忙的状态,而在FireFox下没有这个问题,为了解决这个问题,有两种解决办法,其一是在CSS中加入如下样式:

html {
filter: expression(document.execCommand(”BackgroundImageCache”, false, true));
}

但这个可能会使整个页面的加载变得很慢,所以推荐使用JS来修正这个Bug,在页面中的任意位置加入如下代码,即可达到理想中的效果:

 


(function(){
    /**//*Use Object Detection to detect IE6*/
    var  m = document.uniqueID /**//*IE*/
    && document.compatMode  /**//*>=IE6*/
    && !window.XMLHttpRequest /**//*<=IE6*/
    && document.execCommand;
   
    try{
        if(!!m){
            m("BackgroundImageCache", false, true) /**//* = IE6 only */
        }
       
    }catch(oh){};
})();

阅读(1555) | 评论(2) | 转发(0) |
0

上一篇:布局查看器

下一篇:baoliu

给主人留下些什么吧!~~

chinaunix网友2009-08-14 17:05:28

对不住,我看到的时候也没留意作者,觉得有用就发来了

chinaunix网友2009-08-04 17:16:22

这个代码是hedger写的 LZ不厚道