首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以编程方式重置Ruby中的浏览器缓存(或从浏览器缓存中删除选定项)?

以编程方式重置Ruby中的浏览器缓存(或从浏览器缓存中删除选定项)?
EN

Stack Overflow用户
提问于 2009-11-11 08:20:25
回答 4查看 711关注 0票数 0

我想创建一个rake任务或其他东西来清除浏览器缓存。问题是,我正在运行一个Flash应用程序,如果我更改了数据,我经常需要重置浏览器缓存,以便它删除旧的swf并可以看到新的xml数据。

如何使用ruby重置浏览器缓存?或者更准确地说,我如何才能只从浏览器缓存中删除选定项?

谢谢你的帮助!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-11-11 08:38:41

我看到了一些可能的解决方案:

  1. 编写一些外壳脚本,用于从磁盘中删除缓存中的临时文件(您使用的是哪种浏览器?)。如果浏览器将文件缓存在内存中,我不确定删除磁盘上的文件是否一定有效。
  2. 使用和HTTP头(无缓存)来避免在浏览器Adobe has documentation on No-Cache中缓存。你可以只在开发模式下设置这个头文件,这样在生产环境中swf在你的浏览器上是cached.
  3. Depending的,强制页面和缓存刷新(例如火狐中的Crtl-F5 )
票数 2
EN

Stack Overflow用户

发布于 2009-11-11 10:00:46

我不确定您是如何加载xml数据的,但在过去,我通过在xml文件的路径中附加一个随机数来解决这个问题:

代码语言:javascript
复制
xml.load("data.xml?"+Math.random());

基本上,Flash总是会认为该文件是一个不同的URL。它将无法在您的缓存中找到匹配项。

同样,我不确定您是如何加载XML数据的,所以我不确定这是否适用于您的情况。

不过,希望能有所帮助。

票数 1
EN

Stack Overflow用户

发布于 2009-11-11 09:03:38

您不能重置浏览器缓存,即使您有时重置缓存是不够的,因为缓存不仅可以发生在服务器和/或客户端上,还可以发生在响应从服务器到客户端的过程中经过的任意数量的节点上。

您可以使用的唯一工具是缓存头。

您可以将它们设置为NoCache,但请记住,它每次都会命中服务器

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1712193

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档