【问题标题】:IE11 caching breaking status pageIE11缓存中断状态页面
【发布时间】:2016-08-05 02:47:42
【问题描述】:

我有一个需要不断刷新的状态页面。它对 Java 服务器进行 ajax 调用并获取更新的状态。它在 Chrome 中完美运行,但在 IE11 中,当我单击刷新时它不会刷新。但是,当我打开开发工具时,它确实有效。一旦我关闭开发工具,它就会停止工作。我脑子里有以下元标记:

    <meta http-equiv="cache-control" content="no-cache, must-revalidate, post-check=0, pre-check=0">
    <meta http-equiv="expires" content="0">
    <meta http-equiv="pragma" content="no-cache">

将我自己的浏览器设置为不使用缓存是不够的;我需要它为用户工作,而无需他们更改浏览器设置。

【问题讨论】:

    标签: html ajax internet-explorer internet-explorer-11


    【解决方案1】:

    据此,https://support.microsoft.com/en-us/kb/234067,IE 中存在一个 bug。 https://support.microsoft.com/en-us/kb/222064 解释它。也许你正在打那个?我还要说您应该确保您的元标记位于头部的顶部。

    另外,我认为最好的解决方案是使用 HTTP 标头。我在缓存 HTTP 标头方面取得了非常好的结果。

    【讨论】:

    • 看起来在文档末尾添加另一个头不起作用。我将尝试 HTTP 标头选项
    【解决方案2】:

    我找到了一个解决方案:显然,IE 缓存了 ajax 调用,因此需要禁用它。在 ajax 调用中添加 'cache: false' 可以解决问题:

    $.ajax({
        url: www.url.com,
        cache: false
    })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-04
      • 2010-11-10
      • 2019-07-06
      • 2011-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多