IE6背景图片不缓存问题解决方案及图片使用策略多个方法小结

  解决方法一: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使用图片不缓存的问题,此问题的微软官方解释参考:http://support.microsoft.com/default.aspx?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="pixel.gif" class="yahoo"/>

  Web应用中使用图片需要考虑问题,就是图片的请求次数、图片的尺寸和图片的清晰度。