php生成的xml如何在不关闭浏览器(ie)的情况下,让ie读取每次生成xml比如访问 a.php?id=1就生成id=1的xml文件;
a.php?id=2生成id=2的xml文件;但是目前的情况是访问了id=1的页面,在访问id=2的页面,此时虽然xml文件内容已经变更了,但是页面读取的xml还是id=1的内容,刷新也不行,必须关闭ie或者清空缓存,再就是火狐和谷歌就没有该问题。

解决方案 »

  1.   

    可以在url后面加上一个随机数
      

  2.   

    既然你知道要 清空缓存
    那么发送 xml 前,下发送不缓存的头就是了function no_cache($type='') {
            header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");    // Date in the past
            header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
            header ("Cache-Control: no-cache, must-revalidate");  // HTTP/1.1
    //header('Cache-Control: post-check=0, pre-check=0',false);
            header ("Pragma: no-cache");                          // HTTP/1.0
    //session_cache_limiter('public, no-store');        if($type) {
                    header("Content-type: text/$type");
            }
    }
      

  3.   

    还是不行。
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=7" />
    <meta http-equiv="pragram" content="no-cache">我的meta现在只有他们3个,还是有缓存,我写在了显示页面的前面。
      

  4.   

    不知道楼主的具体什么需求?不关闭ie读取,那只有ajax或用js跳转了。楼主的问题是没有跳转吧。对于a.php?id=1和a.php?id=2浏览器会认为是不同请求,肯定不会读取缓存的
      

  5.   


    其实缓存文件中的xml我看见了,其实文件已经根据id变化了,但是ie浏览器不读取,但是你把这个缓存中的xml删除了在刷新或者关闭ie在打开,页面又能读取正确的数据。
      

  6.   

    ie只读取第一次生成的xml内容,即便打开id=2的时候,xml文件已经改变,但还是读取第一个。
      

  7.   

    难道楼主是在一个网页里iframe一个xml?
      

  8.   


    网页引入了一个falsh翻书的相册,相册是读取xml的,我用php做成在浏览页面的时候生成对应id的xml,不同的id对应同一个xml但是内容不同,可以在ie中 每次打开不同的页面flash不会读取新生成的xml内容,而是第一个打开的页面时候生成的xml内容,但是其实xml在每次打开不同页面的时候(a.php?id=1, id是不同的) 已经被改变。谷歌 火狐无此问题。
      

  9.   


    版主说的是加http协议头,不是html头。还有加随即数应该可以的