也许有人问过某个地方,但我想找到我的问题,但我找不到任何答案。
这是我的问题:
我正在开发一个Web应用程序,由于IE8中存在一些主要的JavaScript问题,我需要用户运行“ Google Chrome Frame ”(以提高网页的速度)。令我印象深刻的是,我的页面工作100%正常,直到它应该刷新并且没有刷新(使用jQuery的Ajax getJSON
请求)。
问题是它不会在服务器上请求新数据,但看起来它会进入缓存中以获取该请求的答案,然后每次都返回相同的内容而不是新数据。
我真的不知道如何解释它,但它只是不更新。此外,当我在页面上点击 F5 时,它不会更新页面,它会保留旧页面(即使我点击 CTRL - F5 或任何其他正常的强制刷新按钮)。要进行更改,我实际上需要关闭浏览器(IE8)并重新打开它以便它可以进行新的更改。
当Google Chrome浏览器内嵌框架处于活动状态时,有没有人知道如何禁用缓存?
我使用的元标记是:
<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">
如果您需要更多详情,请不要犹豫。
答案 0 :(得分:0)
旧的CGI技巧将日期作为参数编码到请求中,因此URL随每个请求而变化。这通常会阻止对URL的任何缓存。
如果您将日期和时间编码为毫秒,那么您将拥有 url ?01102010134532。
如果我理解你的要求,你必须在JQuery / JS中这样做,并且需要在每个AJAX请求发生后修改URL上的参数,所以下一个将与前一个不同