IE6背景图片不缓存问题解决方案及图片使用策略

最近发现的Web项目在IE6下出现背景图片不缓存的问题,在网上搜索了一番,发现已经是众所周知的BUG,这里就总结一下各种解决办法

解决方法一:IE6 Hack脚本

复制代码 代码如下:


<script>
if(navigator.appName == "Microsoft Internet Explorer"){
var b_version=navigator.appVersion;
var version=b_version.split(";");
var trim_Version=version[1].replace(/[ ]/g,"");
if(trim_Version=="MSIE6.0"){
;//alert("IE 6.0");
try {
document.execCommand("BackgroundImageCache", false, fix);
}catch(err){ }
}
}
</script>


解决方法二:IE6 Hack注释

复制代码 代码如下:


<!--[if IE 6]>
<script type="text/javascript"><!--
document.execCommand("BackgroundImageCache", false, true);
// --></script>
<![endif]-->


解决方案三:IE6 Hack样式

复制代码 代码如下:


html {}
{
filter:expression(document.execCommand("BackgroundImageCache", false, true));
}


但以上方法还不能解决在innerHTML使用图片不缓存的问题,此问题的微软官方解释参考:?scid=kb;en-us;319546

解决了背景图片缓存的问题,Web图片的使用就可以采用CSS的background-image进行定义,且采用缓存只访问一次。对于IMG标签,部分网站采用(宽高均为)1像素的GIF图片作为SRC值,表示内容采用样式类定义的方式如:

复制代码 代码如下:


.yahoo
{
background: url('img/yahoo.png') no-repeat;
width:16px;
height:16px;
}


<img src="https://www.jb51.net/pixel.gif"/>
Web应用中使用图片需要考虑问题,就是图片的请求次数、图片的尺寸和图片的清晰度。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wdjwsg.html