黄良懿的博客
总有一些美好,期待着我们去发现
-
解决IE6下css背景重复读取的问题
发表于 2009年08月13日 没有评论最近碰到个问题,放狗查了得知IE6用css指定背景的时候有一个问题,默认不缓存背景图片,需要加一段Javascript来让它别闹腾:
document.execCommand('BackgroundImageCache', false, true);不过样式表的问题需要放到js中解决还要让整个网站都装入这个js有时候是蛮讨厌的,最好还是能放在css中,毕竟这祸害根源还是css问题,而且一般都会有个全局css被全站引用,这样加起来方便。 So,我是这样做的:
body { zoom: expression(function(ele){ if ((i = navigator.userAgent.indexOf("MSIE")) >= 0) { if (parseInt(navigator.userAgent.substr(i + 4)) == 6) { document.execCommand('BackgroundImageCache', false, true); ele.style.zoom = '1'; } } }(this)); }这个方法的好处是只会执行一次,放在其它DOM对象上很可能会被执行n多次,太过影响效率。 附上JavaScript解决方案的全部代码:
<!--[if IE 6]> <script type="text/javascript"> try { document.execCommand('BackgroundImageCache', false, true); } catch(e) {} </script> <![endif]-->相关日志:



最近评论