解决IE6的CSS背景闪烁问题
2009 5 9 12:29 AM 2574次查看
分类:Web 标签:CSS, JavaScript
试了很多方法,包括更改DOCTYPE声明、编码、删除CSS样式和JavaScript效果,结果都没用。最后把背景图片换成本地路径,才发现不闪了…
没办法只好搜索解决办法了,结果是因为IE6不缓存背景图片,于是导致每次都会重新加载…
然而IE6也给出了一个简单的解决办法,执行这段JavaScript代码即可修复:
document.execCommand("BackgroundImageCache", false, true);
由于这个bug只出现在IE6以下版本,且IE以外的浏览器是没有execCommand这个函数的,所以可以用这段代码来避免其他浏览器执行这段代码:<!--[if lte IE 6]><script type="text/javascript">try{document.execCommand("BackgroundImageCache", false, true);}catch(e){}</script><![endif]-->
最后不得不说,网上的JavaScript代码真乱,自作聪明地写了一堆兼容性代码…
向下滚动可载入更多评论,或者点这里禁止自动加载。