IE6下CSS圖片緩存問題解決方法
更新時(shí)間:2010年12月09日 18:49:40 作者:
ie6下如果用css圖片平鋪,會出現(xiàn)cpu短暫100%的情況,主要原因在于,ie6會重復(fù)下載圖片。
用一句代碼即可搞定:
document.execCommand("BackgroundImageCache", false, true);
當(dāng)然為了其它瀏覽器上能正常通過,需要做下判斷后調(diào)用,才更安全:
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;
}
復(fù)制代碼 代碼如下:
document.execCommand("BackgroundImageCache", false, true);
當(dāng)然為了其它瀏覽器上能正常通過,需要做下判斷后調(diào)用,才更安全:
復(fù)制代碼 代碼如下:
if(Browser.isIE6){
try{
document.execCommand("BackgroundImageCache", false, true);
}
catch(e1){}
}
平臺檢測代碼可以這樣寫,摘自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)語法錯(cuò)誤或缺少對象問題的解決方法
- IE6下javasc#ipt:void(0) 無效的解決方法
- IE6中ajax aborted錯(cuò)誤請求中斷解決方法
- IE6-IE9不支持table.innerHTML的解決方法分享
- IE6/7/8/9中Table/Select的innerHTML不能賦值的解決方法
- IE6不能修改NAME問題的解決方法
- IE6圖片加載的一個(gè)BUG解決方法
- IE6支持position:fixed完美解決方法
- IE6瀏覽器中window.location.href無效的解決方法
相關(guān)文章
微信小程序?qū)崿F(xiàn)圖片上傳功能實(shí)例(前端+PHP后端)
這篇文章主要給大家介紹了關(guān)于微信小程序?qū)崿F(xiàn)圖片上傳功能的相關(guān)內(nèi)容,文中詳細(xì)介紹了前端+PHP后端的示例代碼,對大家的理解和學(xué)習(xí)具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-01-01
借用Google的Javascript API Loader來加速你的網(wǎng)站
加速頁面加載速度有一個(gè)方法就是把CSS和JS文件放到另外一個(gè)單獨(dú)的服務(wù)器上,這樣在訪問量比較大的情況下可以分擔(dān)主服務(wù)器的壓力2009-01-01
echarts自定義餅圖數(shù)據(jù)刷新和顏色渲染問題淺析
這篇文章主要給大家介紹了關(guān)于echarts自定義餅圖數(shù)據(jù)刷新和顏色渲染問題的相關(guān)資料,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,需要的朋友可以參考下2023-05-05
除Console.log()外更多的Javascript調(diào)試命令
本篇文章給大家介紹了除Console.log()外更多的Javascript調(diào)試命令,方便大家更多環(huán)境下的JS調(diào)試,學(xué)習(xí)下吧。2018-01-01
JS基礎(chǔ)之undefined與null的區(qū)別分析
在JavaScript開發(fā)中,被人問到:null與undefined到底有啥區(qū)別?一時(shí)間不好回答,特別是undefined,因?yàn)檫@涉及到undefined的實(shí)現(xiàn)原理。2011-08-08

