-2

我是一名网络开发人员并且面临一个问题,因为 xml 内部存储在 chrome 缓存中。因此,我的 swf flash 程序看不到我对 xml 文件的更新。

如果可以的话请帮忙。

4

2 回答 2

1

使用缓存是有充分理由的——它可以防止客户端计算机一遍又一遍地下载相同的文件。您不应该使用“缓存杀手”,即使这是您经常遇到的答案。因为,通过将随机数添加到 GET 方法发送的请求中,您不会阻止文件被缓存 - 相反,您会创建文件的唯一缓存副本 - 不必要地膨胀用户 PC 上的缓存(并且还运行机会可能的重复 - 因为随机不保证没有重复)。

你应该做什么:

  1. 如果您的数据经常被修改(通常每隔几个小时一次就足够了),您应该考虑将其与 POST 方法的响应一起发送。POST 响应通常不会被缓存(除非通过代理服务器 - 但这是完全不同的事情)。

  2. 提供适当的缓存控制标头。查找 HTTP 协议规范并了解您可以使用的选项。有多种可能,它们可能会将缓存的生命周期限制为某个日期,或者自缓存副本以来的某个时间量等。

http://www.mnot.net/cache_docs/这是一篇我建议进一步阅读的文章。

于 2012-05-20T10:14:10.900 回答
0

您可以使用随机生成的数字/字符串或当前时间作为 GET 查询字符串,例如:

var xmlFile:String = "file.xml?no-cache=" + new Date().time.toString();
trace(xmlFile);
于 2012-05-20T08:06:28.023 回答