我想创建一个rake任务或其他东西来清除浏览器缓存。问题是,我正在运行Flash应用程序,如果我更改数据,我通常需要重置浏览器缓存,以便删除旧的swf,并可以看到新的xml数据。
如何使用ruby重置浏览器缓存?或者更确切地说,我如何才能从浏览器缓存中删除选择项?
感谢您的帮助!
答案 0 :(得分:2)
我看到了一些可能的解决方案:
答案 1 :(得分:1)
我不确定你是如何加载xml数据的,但在过去,我通过在xml文件的路径中附加一个随机数来解决这个问题:
xml.load("data.xml?"+Math.random());
基本上,Flash总是认为该文件是不同的URL。它将无法在您的缓存中找到匹配项。
同样,我不确定你是如何加载XML数据的,所以我不确定这是否适用于你的情况。
希望它有所帮助。
答案 2 :(得分:0)
您无法重置浏览器缓存,即使您有时也不能重置浏览器缓存,因为缓存不仅可以在服务器和/或客户端上发生,而且还可以在您的响应从服务器进行的任何数量的节点上发生给你的客户。
您可以使用的唯一工具是缓存标头。
您可以将它们设置为NoCache,只要记住它每次都会点击服务器
答案 3 :(得分:0)
由于您正在使用Safari,here's an article描述了如何使用AppleScript清除缓存。但您可以跳过AppleScript部分并直接在rake任务中删除文件。唯一的问题可能是你必须重新启动浏览器才能生效,但这可以通过对进程的kill和“open /Applications/Safari.app”来完成(我假设你正在使用Mac;在Windows中它就像启动“c:\ program files \ Safari ...”)。