IE6下CSS圖片緩存問(wèn)題解決方法
更新時(shí)間:2010年12月09日 18:49:40 作者:
ie6下如果用css圖片平鋪,會(huì)出現(xiàn)cpu短暫100%的情況,主要原因在于,ie6會(huì)重復(fù)下載圖片。
用一句代碼即可搞定:
document.execCommand("BackgroundImageCache", false, true);
當(dāng)然為了其它瀏覽器上能正常通過(guò),需要做下判斷后調(diào)用,才更安全:
if(Browser.isIE6){
try{
document.execCommand("BackgroundImageCache", false, true);
}
catch(e1){}
}
平臺(tái)檢測(cè)代碼可以這樣寫,摘自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;
}
復(fù)制代碼 代碼如下:
document.execCommand("BackgroundImageCache", false, true);
當(dāng)然為了其它瀏覽器上能正常通過(guò),需要做下判斷后調(diào)用,才更安全:
復(fù)制代碼 代碼如下:
if(Browser.isIE6){
try{
document.execCommand("BackgroundImageCache", false, true);
}
catch(e1){}
}
平臺(tái)檢測(cè)代碼可以這樣寫,摘自Ext源碼:
復(fù)制代碼 代碼如下:
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
復(fù)制代碼 代碼如下:
function extend(obj1,obj2){
for(var o in obj2){
obj1[o] = obj2[o];
}
return obj1;
}
您可能感興趣的文章:
- location.href 在IE6中不跳轉(zhuǎn)的解決方法與推薦使用代碼
- IE6-IE9中tbody的innerHTML不能賦值的解決方法
- IE6-IE9中tbody的innerHTML不能賦值的解決方法
- 引入JS文件IE6報(bào)語(yǔ)法錯(cuò)誤或缺少對(duì)象問(wèn)題的解決方法
- IE6下javasc#ipt:void(0) 無(wú)效的解決方法
- IE6中ajax aborted錯(cuò)誤請(qǐng)求中斷解決方法
- IE6-IE9不支持table.innerHTML的解決方法分享
- IE6/7/8/9中Table/Select的innerHTML不能賦值的解決方法
- IE6不能修改NAME問(wèn)題的解決方法
- IE6圖片加載的一個(gè)BUG解決方法
- IE6支持position:fixed完美解決方法
- IE6瀏覽器中window.location.href無(wú)效的解決方法
相關(guān)文章
table insertRow、deleteRow定義和用法總結(jié)
這篇文章主要對(duì)table insertRow、deleteRow定義和用法做下總結(jié),需要的朋友可以參考下2014-05-05JS中用三種方式實(shí)現(xiàn)導(dǎo)航菜單中的二級(jí)下拉菜單
我們?cè)谔詫?、搜狐等大型網(wǎng)站上都可以看到使用的一些二級(jí)下拉菜單,比如下面這張圖片。那么如何實(shí)現(xiàn)導(dǎo)航菜單欄中的二級(jí)下拉菜單呢?下面小編給大家分享JS中用三種方式實(shí)現(xiàn)導(dǎo)航菜單中的二級(jí)下拉菜單,感興趣的朋友一起看看吧2016-10-10gridpanel動(dòng)態(tài)加載數(shù)據(jù)的實(shí)例代碼
這篇文章介紹了gridpanel動(dòng)態(tài)加載數(shù)據(jù)的實(shí)例代碼,有需要的朋友可以參考一下2013-07-07Javascript+CSS3實(shí)現(xiàn)進(jìn)度條效果
本篇文章主要介紹Javascript+CSS3實(shí)現(xiàn)進(jìn)度條效果,可以實(shí)現(xiàn)給用戶一個(gè)等待的過(guò)程,有需要的可以了解一下。2016-10-10關(guān)于javascript中this關(guān)鍵字(翻譯+自我理解)
在傳統(tǒng)面向?qū)ο笳Z(yǔ)言中,this關(guān)鍵字是個(gè)很乖的小孩,從不亂跑,該是誰(shuí)的就是誰(shuí)的??墒窃贘avaScript中,我們發(fā)現(xiàn)它不那么乖,有時(shí)甚至把我們搞的暈頭轉(zhuǎn)向的。所以有必要對(duì)它稍微做個(gè)總結(jié)。2010-10-10Bootstrap每天必學(xué)之彈出框(Popover)插件
Bootstrap每天必學(xué)之彈出框(Popover)插件,彈出框的內(nèi)容完全可使用 Bootstrap 數(shù)據(jù) API(Bootstrap Data API)來(lái)填充,如何實(shí)現(xiàn)請(qǐng)參考本文2016-04-04