【发布时间】:2010-05-14 15:09:03
【问题描述】:
我们发现,完整的浏览器缓存是我们外联网出现问题的原因。它只会影响我们的一小部分用户,但我们希望提醒他们注意这个问题,并为他们提供一些关于如何自己解决问题的指导。
我们希望使用与 GMail 使用的系统类似的系统。当它检测到您的浏览器的缓存 已满 没有正常运行时,它会显示一条警告消息,告诉用户他们的缓存已满,并且可能会导致 GMail 出现问题,并附有指向Gmail Help page on clearing your browser's cache.
有谁知道那里是否有任何资源,或者如何使用 JavaScript 来检测浏览器的缓存 full 表现不佳的示例?
谢谢。
澄清:我想,我们实际上试图检测的不是缓存是否已满,而是我们已配置服务器端存储的脚本是否已满在缓存中,正在从服务器重新请求 - 浏览器行为异常,或者好像它的缓存没有正常运行。
进一步说明:感谢大家对缓存的更新。我们的脚本使用正确的标头发送,我们只在 IE6 和 IE7 中看到这个问题 - Mozilla 和 WebKit 浏览器似乎不受影响 - 但我仍然不确定我们将如何使用 JavaScript 和/ 或 XmlHttpRequest 来检查是否从缓存中检索到对象,从而让我们检查缓存是否表现不佳。
【问题讨论】:
-
独立地这是否真的可能(我怀疑),浏览器缓存何时被认为已满,因为它基本上是一个队列,当需要空间时,最旧的数据被删除。或者什么时候没有满?未满将需要用户定期清空它,这是大多数人从未做过的......
-
我很好奇您是如何以及为什么确定 full 缓存是问题所在,而不是缓存中的数据冲突或类似问题。无论如何,如果您是在 comp.lang.javascript (groups.google.co.uk/group/comp.lang.javascript/browse_thread/…) 上被滥用的同一个人,我希望您在 stackoverflow 上得到更好的待遇...
-
嘿...不,那不是我在 comp.lang.javascript 上的。我想我真正要问的是,GMail 正在做些什么来检测您的浏览器的缓存已已满,并将此消息显示给我们的最终用户。通过您的链接,并通过快速阅读,我设法找到了这个讨论 (groups.google.com/group/comp.lang.javascript/browse_frm/thread/…),它解释了可能发生的事情以及如何去做。谢谢!
-
@RoToRa:我想我们实际上试图检测的不是缓存是否已满(像你一样,我不确定是否真的可以这样做,因此问题)而是我们已将服务器端配置为存储在缓存中的脚本是否正在从服务器重新请求 - 浏览器的行为就好像其缓存已满。
-
看起来 gmail 缓存已满警告仅通过 http 显示。我已阅读有关使用 https 浏览 gmail 时消息消失的报告。 Source
标签: javascript caching gmail xmlhttprequest