我的网站上有一副图片,是以背景图片的形式加上去的,而且是CSS调用的方式。<link href="css/x.css" rel="stylesheet" type="text/css">     .x{background:url(1.jpg)}, 这幅图片呢,每天都要更新的,但是由于IE缓存,实际上在IE浏览器上它并不显示更新(除非按ctrl+F5),在其他浏览器上浏览时正常。  我该怎么办?加上什么代码会让IE不缓存这张图片?谢谢!

解决方案 »

  1.   

    用js去设置背景图,然后在图片url上面加上图片的修改时间,有修改,就会读取新的,现在很多都这样用。
      

  2.   

    用js调用啊,只要变化地址就是最新的图片了,地址后面加个随机的参数 Math.random() * 1000
    <html> 
    <head> 
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.6.1.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {        
            $('#img').css({ background: 'url(1.jpg?' + Math.random() * 1000+')' });
        });
    </script>
    </head> 
    <body> 
    <div id="img">背景图片</div>
    </body> 
    </html> 
      

  3.   

    楼上的方法可以满足要求还可以优化下:
    如果每天更新,问号后面可以取当天日期,形如2011619
    var d=new Date();
    var s=""+d.getFullYear()+(d.getMonth()+1)+d.getDate();
    getMonth()从返回月份为(0 ~ 11),加1为当前月份
    这样还可以利用到缓存的好处
      

  4.   

    可以使用js,也可以不使用
    我说下php网站解决方法:
    header( "Expires:   Mon,   26   Mar   1997   06   26   05:00:00   GMT "); 
    header( "Last-Modified:   ".gmdate( "D,d   M   Y   H:i:s "). "   GMT "); 
    header( "Cache-control:   no-cache,   must-revalidate "); 
    header( "Pragma:   no-cache ");