代码之家  ›  专栏  ›  技术社区  ›  Ali Ersöz

我可以用javascript从Internet临时文件中删除文件吗?

  •  2
  • Ali Ersöz  · 技术社区  · 15 年前

    我有一个页面需要在OnLoad事件上下载一个图像文件,但是,对于所有的页面调用!现在,它在第一个调用中下载图像,但在第二个调用中,它从临时调用中获取,这不是我想要的。我需要为每种负载做一些计算。所以我想删除在每次加载时从临时或其他强制客户端从服务器再次下载的文件。

    一个javascript解决方案将会非常好。谢谢。

    5 回复  |  直到 15 年前
        1
  •  8
  •   Guffa    15 年前

    不,您不能使用javascript对缓存执行任何操作,但可以更改图像的URL,使其不在缓存中。

    只需将查询字符串添加到图像的URL,并使用当前时间使其每次都是唯一的:

    <script type="text/javascript">
    document.write('<img src="images/theImage.gif?t=' + new Date().getTime() + '" alt="" />');
    </script>
    
        2
  •  2
  •   David Hanak    15 年前

    我知道您正在寻找一个JavaScript解决方案,但是解决这个问题的好方法是使用HTTP响应头,它不指定缓存和到期值。如果您无法控制.htaccess的Web服务器配置,则可以创建一个简单的PHP脚本,在提供内容之前设置这些头。在PHP中:

    header('Expires: 0');
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    
        3
  •  2
  •   Konstantin Tarkus    15 年前

    将URL字符串修改为如下内容:

    originalUrl += "?" + new Date().getTime();
    
        4
  •  1
  •   karim79    15 年前

    我将为下载到缓存控制的图像设置HTTP头文件:没有缓存,而不是想出一些javascript“黑客”。

        5
  •  1
  •   kgiannakakis    15 年前

    使用javascript绝对不能删除临时文件。要避免缓存,请在发送图像时使用无缓存头。这样每次请求时都会下载图像。

    页眉列表 here .

    必须使用:

    缓存控制:无缓存

    This 是特定于Microsoft的。