2

也许在某个地方有人问过它,但我试图找到我的问题,但我找不到任何答案。

这是我的问题:

我正在开发一个 Web 应用程序,由于 IE8 中的一些主要 JavaScript 问题,我需要用户运行“ Google Chrome Frame ”(以提高网页的速度)。令我印象深刻的是,我的页面可以 100% 正常工作,直到它应该刷新并且没有刷新(getJSON使用 jQuery 的 Ajax 请求)。

问题是它不请求服务器上的新数据,但看起来它进入缓存以响应该请求,然后每次返回相同的东西而不是新数据。

我真的不知道如何解释它,但它只是不更新​​。此外,当我点击F5页面时,它不会更新页面,它会保留旧页面(即使我点击CTRL-F5或任何其他正常的强制刷新按钮)。要进行更改,我实际上需要关闭浏览器 (IE8) 并重新打开它,以便它可以接受新的更改。

有谁知道当 Google Chrome Frame 处于活动状态时如何禁用缓存?

我使用的元标记是:

<meta http-equiv="expires" content="0">
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache, must-revalidate"> 
<META HTTP-EQUIV="X-UA-COMPATIBLE" CONTENT="CHROME=1">

如果您需要更多详细信息,请随时询问。

4

1 回答 1

0

一个旧的 CGI 技巧是将日期作为参数编码到请求中,以便 URL 随每个请求而变化。这通常会停止对 URL 的任何缓存。

因此,如果您将日期和时间编码为毫秒,您将拥有url ?01102010134532。

如果我正确理解您的要求,您必须在 JQuery / JS 中执行此操作,并且需要在发出每个 AJAX 请求后修改 URL 上的参数,因此下一个将与上一个不同

于 2010-10-01T13:47:09.380 回答