被IE6的cache bug折磨了三个小时
六 23
上午的时候把最近一直在做的新版网站给领导看了一下,一直在我电脑里(包括傲游、IE7、火狐)没有问题的tags选项卡,在领导的电脑里可就不听使唤了,把我尴尬的晾在了那儿…
下午一上班就开始找原因,用IE6一打开,居然也是一样的状况,要知道还是有很多客户是使用IE6的。最开始我以为是CSS出了问题,检查一遍CSS也没什么问题,tags的JS也没问题,在不断的测试过程中…3个小时的时间一眨眼就过去了…
后来记得某某DX写的某本书里说过IE6有个CSS背景的bug,马上百度…所以…问题就这样解决了…
因为选项卡的tags的li中使用了背景图片,而IE6不缓存这个背景图片,导致每次点此tags进行切换的时候都会重新下载li的背景图片…导致点击的时候闪烁不定…
在解决问题的过程中我还发现一个问题,如果IE6的缓存设置为Every visit to the page,而不是默认的Automatically时才会有以上bug…
说了这么多,最终解决的方法是在js中加入一段:
var isIE = ua.indexOf("msie") > -1, isIE7 = ua.indexOf("msie 7") > -1;
// remove css image
if(isIE && !isIE7){
try{
document.execCommand("BackgroundImageCache", false, true);
}catch(e){}
}
因为IE7中已经解决了Cache的bug…
Email
Flickr
RSS
近期评论