IE6下CSS图片缓存问题解决方法

 更新时间:2010年12月09日 18:49:40   作者:  
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;
}

相关文章

  • Leaflet 基础入门教程示例

    Leaflet 基础入门教程示例

    这篇文章主要为大家介绍了Leaflet 基础入门教程示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • 小程序中的箭头函数的具体使用

    小程序中的箭头函数的具体使用

    这篇文章主要介绍了小程序中的箭头函数的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • JS工作中的小贴士之”闭包“与事件委托的”阻止冒泡“

    JS工作中的小贴士之”闭包“与事件委托的”阻止冒泡“

    这篇文章主要介绍了JS工作中的小贴士之”闭包“与事件委托的”阻止冒泡“的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-06-06
  • JS实现的简单tab切换功能完整示例

    JS实现的简单tab切换功能完整示例

    这篇文章主要介绍了JS实现的简单tab切换功能,结合完整实例形式分析了javascript基于事件响应实现页面元素属性动态变换相关操作技巧,需要的朋友可以参考下
    2019-06-06
  • 微信小程序实现图片上传功能实例(前端+PHP后端)

    微信小程序实现图片上传功能实例(前端+PHP后端)

    这篇文章主要给大家介绍了关于微信小程序实现图片上传功能的相关内容,文中详细介绍了前端+PHP后端的示例代码,对大家的理解和学习具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-01-01
  • 借用Google的Javascript API Loader来加速你的网站

    借用Google的Javascript API Loader来加速你的网站

    加速页面加载速度有一个方法就是把CSS和JS文件放到另外一个单独的服务器上,这样在访问量比较大的情况下可以分担主服务器的压力
    2009-01-01
  • echarts自定义饼图数据刷新和颜色渲染问题浅析

    echarts自定义饼图数据刷新和颜色渲染问题浅析

    这篇文章主要给大家介绍了关于echarts自定义饼图数据刷新和颜色渲染问题的相关资料,内容简明扼要并且容易理解,绝对能使你眼前一亮,需要的朋友可以参考下
    2023-05-05
  • 除Console.log()外更多的Javascript调试命令

    除Console.log()外更多的Javascript调试命令

    本篇文章给大家介绍了除Console.log()外更多的Javascript调试命令,方便大家更多环境下的JS调试,学习下吧。
    2018-01-01
  • js数组Array sort方法使用深入分析

    js数组Array sort方法使用深入分析

    js中Array.sort()方法是用来对数组项进行排序的,默认是升序排列sort() 方法可以接受一个 方法为参数,这个方法有两个参数,接下来本例将对sort方法进行深入探讨,感兴趣的朋友可以参考下
    2013-02-02
  • JS基础之undefined与null的区别分析

    JS基础之undefined与null的区别分析

    在JavaScript开发中,被人问到:null与undefined到底有啥区别?一时间不好回答,特别是undefined,因为这涉及到undefined的实现原理。
    2011-08-08

最新评论