很多時(shí)候我們要給一些按鈕或是img設(shè)置背景,而為了達(dá)到數(shù)據(jù)與表現(xiàn)樣式分離的效果,通常背景樣式都是在CSS里設(shè)定的,但是這個(gè)行為在IE會(huì)有一個(gè)Bug,那就是因?yàn)镮E默認(rèn)情況下不緩存背景圖片,所以當(dāng)鼠標(biāo)在有CSS背景的按鈕或是圖片上移動(dòng)時(shí),圖片會(huì)閃爍甚至鼠標(biāo)會(huì)出現(xiàn)忙的狀態(tài),而在FireFox下沒(méi)有這個(gè)問(wèn)題,為了解決這個(gè)問(wèn)題,有兩種解決辦法,其一是在CSS中加入如下樣式:

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

但這個(gè)可能會(huì)使整個(gè)頁(yè)面的加載變得很慢,所以推薦使用JS來(lái)修正這個(gè)Bug,在頁(yè)面中的任意位置加入如下代碼,即可達(dá)到理想中的效果:

<script>
document.execCommand(”BackgroundImageCache”, false, true);
</script>


(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){};
}
)();