很多时候我们要给一些按钮或是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"falsetrue/* = ie6 only */ 
        }

        
    }
catch(oh){};
}
)();