IE6下CSS图片缓存问题

ie6下如果用css图片平铺,会出现cpu短暂100%的情况,主要原因在于,ie6会重复下载图片。

用一句代码即可搞定:

 

 
  
document.execCommand( " BackgroundImageCache " , false , true );

当然为了其它浏览器上能正常通过,需要做下判断后调用,才更安全:

 

 

 
  
if (Browser.isIE6){
try {
document.execCommand(
" BackgroundImageCache " , false , true );
}
catch (e1){}
}

平台检测代码可以这样写,摘自Ext源码:

 

 
  
var Browser = {};
try {
(
function (){
var idSeed = 0 ,
ua
= navigator.userAgent.toLowerCase(),
check
= function (r){
return r.test(ua);
},
DOC
= document,
isStrict
= DOC.compatMode == " CSS1Compat " ,
isOpera
= check( / opera / ),
isChrome
= check( / \bchrome\b / ),
isWebKit
= check( / webkit / ),
isSafari
= ! isChrome && check( / safari / ),
isSafari2
= isSafari && check( / applewebkit\ / 4 / ), / / unique to Safari 2
isSafari3
= isSafari && check( / version\ / 3 / ),
isSafari4 = isSafari && check( / version\ / 4 / ),
isIE = ! isOpera && check( / msie / ),
isIE7
= isIE && check( / msie 7 / ),
isIE8
= isIE && check( / msie 8 / ),
isIE6
= isIE && ! isIE7 && ! isIE8,
isGecko
= ! isWebKit && check( / gecko / ),
isGecko2
= isGecko && check( / rv:1\.8 / ),
isGecko3
= isGecko && check( / rv:1\.9 / ),
isBorderBox
= isIE && ! isStrict,
isWindows
= check( / windows|win32 / ),
isMac
= check( / macintosh|mac os x / ),
isAir
= check( / adobeair / ),
isLinux
= check( / linux / ),
isIpad
= check( / ipad / ),
isSecure
= / ^https / i.test(window.location.protocol);
extend(Browser,{
isOpera:isOpera,
isIE:isIE,
isIE6:isIE6,
isFirefox:isGecko,
isSafari:isSafari,
isChrome:isChrome,
isIpad:isIpad
});
})();
}
catch (e){}

 

 

//上面extend方法也很easy

 

 

 
  
function extend(obj1,obj2){
for ( var o in obj2){
obj1[o]
= obj2[o];
}
return obj1;
}

转载于:https://www.cnblogs.com/275095923/archive/2010/12/04/1896362.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值