【问题标题】:IE10 - unable to prevent cache for iframeIE10 - 无法阻止 iframe 的缓存
【发布时间】:2012-12-19 02:20:13
【问题描述】:

我有一个页面上的模态框正在 iframe 中打开动态内容。

<a href="popup.php?id=52" rel="modal">Link 1</a>(固定ID)

<a href="popup.php?id=53" rel="modal">Link 1</a>(固定ID) ...

但无论我做什么,我都无法阻止 iframe 内容缓存在 IE10 中(似乎其他浏览器都不错)。

  • 我用html5所以meta标签无能为力。
  • Cache.manifest 让我的页面一团糟(或者如果只放 NETWORK:* - 无效)。
  • PHP 标头 header("Cache-Control: no-cache"); header("Expires: -1"); 也对 IE10 无效。
  • 在 Web 中找到的 JS/JQuery 解决方案我无法正确应用。

除了为 href 添加另一个动态 GET 参数之外的任何解决方案?

【问题讨论】:

    标签: caching iframe internet-explorer-10 html5-appcache


    【解决方案1】:

    我不确定这是否适用于 IE10,但几年前 Firefox 在缓存 iframe 的内容时遇到了类似的问题,使其重新加载的一个技巧是使用 JavaScript 强制重新加载,如下所示:

    var orig_src = iframe.src;
    iframe.src = "blank.html"; # A blank document you'll need to create
    setTimeout(function() { iframe.src = orig_src; }, 100);
    

    或更简单的技术

    iframe.src = iframe.src;
    

    ... 这在 IE10 中也可能有效,也可能无效。

    【讨论】:

    • 不幸的是,两者都对我不起作用。试图放入父页面和 iframe 内部。实际上,当前的 FF 重新加载 iframe 非常完美,但 IE10 没有,它只是非常难以缓存它,我只能通过在右键菜单中选择 Refresh 来更新页面。
    猜你喜欢
    • 2012-02-27
    • 2016-10-19
    • 2020-11-28
    • 1970-01-01
    • 1970-01-01
    • 2016-12-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多