解决IE6的CSS背景闪烁问题
http://www.keakon.net/2009/05/09/%E8%A7%A3%E5%86%B3IE6%E7%9A%84CSS%E8%83%8C%E6%99%AF%E9%97%AA%E7%83%81%E9%97%AE%E9%A2%98
今天遇到个奇怪的问题,网页本地测试没问题,但上传到GAE服务器上,用IE远程访问就会出现背景闪烁的问题了。
试了很多方法,包括更改DOCTYPE声明、编码、删除CSS样式和JavaScript效果,结果都没用。最后把背景图片换成本地路径,才发现不闪了…
没办法只好搜索解决办法了,结果是因为IE6不缓存背景图片,于是导致每次都会重新加载…
然而IE6也给出了一个简单的解决办法,执行这段JavaScript代码即可修复:
由于这个bug只出现在IE6以下版本,且IE以外的浏览器是没有execCommand这个函数的,所以可以用这段代码来避免其他浏览器执行这段代码:
http://www.keakon.net/2009/05/09/%E8%A7%A3%E5%86%B3IE6%E7%9A%84CSS%E8%83%8C%E6%99%AF%E9%97%AA%E7%83%81%E9%97%AE%E9%A2%98
今天遇到个奇怪的问题,网页本地测试没问题,但上传到GAE服务器上,用IE远程访问就会出现背景闪烁的问题了。
试了很多方法,包括更改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]-->