我可以在javascript中删除临时Internet文件中的文件吗?

时间:2009-03-26 08:17:44

标签: javascript file-io

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

javascript解决方案会很棒。感谢。

5 个答案:

答案 0 :(得分:8)

不,你不能使用Javascript对缓存做任何事情,但你可以更改图像的URL,使其不在缓存中。

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

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

答案 1 :(得分:2)

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

header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');

答案 2 :(得分:2)

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

originalUrl += "?" + new Date().getTime();

答案 3 :(得分:1)

我会为正在下载到Cache-Control:no-cache的图像设置HTTP标头,而不是想出一些javascript“hack”。

答案 4 :(得分:1)

您绝对无法使用javascript删除临时文件。为避免缓存,请在发送映像时使用no-cache标头。这样,每次请求时都会下载图像。

标题列表here

您必须使用:

缓存控制:无缓存

This是Microsoft特有的。