IE6下CSS背景图片闪烁的Bug(ie6下的背景图片缓存问题)
IE6下CSS背景图片闪烁的Bug(ie6下的背景图片缓存问题)
IE6下的背景图片每次使用都会重新发送请求(非本地),连一个hover效果时候同样的背景图片仅仅位置不同而已,ie6都会再次发送请求,这个令人崩溃的事情需要解决掉: 对于ie来说,filter:expression 很强大,能够实现的功能超级多,但是更对于视效率如生命的程序员来说,它的效率不敢令人恭维,所以有人会用css方法实现ie6下背景图片缓存,但是这种人也就是崇拜微软的强大而已:
复制代码代码如下: html {filter:expression(document.execCommand("BackgroundImageCache", false, true));} 当然缺点:可能会使整个页面的加载速度变慢
大多数人都会选择js方法实现:
复制代码代码如下: <script type='text/javascript'> document.execCommand("BackgroundImageCache", false, true); </script>
缺点:如果在firefox等浏览器下执行会出错。
所以需要判断是否为IE浏览器,使用jQuery提供的判断方法如下:
复制代码代码如下: <script type='text/javascript'> if ($.browser.msie) { document.execCommand("BackgroundImageCache", false, true); } </script>
更简单的就是使用IE的条件注释:
复制代码代码如下: <!--[if lt IE 7]> <script>document.execCommand("BackgroundImageCache",false,true);</script> <![endif]-->
|