【问题标题】:Prevent Opera from fetching page from cache on Back button or force to cache AJAX阻止 Opera 从后退按钮上的缓存中获取页面或强制缓存 AJAX
【发布时间】:2012-04-03 21:33:33
【问题描述】:

我对 2 种可能的解决方案有疑问。

  1. 如何强制 Opera 在 jQuery 中缓存 .ajax 调用?
  2. 如果用户通过单击“返回”按钮到达页面,我如何强制 Opera 浏览器重新加载页面?

测试场景:打开页面,浏览任意链接,然后通过返回按钮返回页面。从缓存中获取页面。

我已经阅读了几篇文章(关于 StackOverflow 的文章),但没有一篇有效: 1) 缓存 HTTP 标头 - 忽略 2) 元标签 - 忽略 3) 带有 js onunload 事件和标志变量的解决方案 - 不起作用

还有其他建议吗?

【问题讨论】:

    标签: jquery browser cross-browser opera


    【解决方案1】:

    是 POST 还是 GET?

    类似问题:http://my.opera.com/community/forums/topic.dml?id=435111

    为什么使用 GET 方法的 Ajax 请求不能在 Opera 中缓存? 请看这个小测试:

    http://www.karapuz.by/media/js/ajax-GET-caching-test.html

    似乎 Opera(我的是 10.10),与 IE、FF、GC 和 Safari 不会缓存 ajax 响应,即使它是显式的 告诉这样做。有什么想法吗?

    答案是:

    现在看来问题出在jQuery库上。

    我又做了一个测试 http://www.karapuz.by/media/js/ajax-GET-caching-test2.html ,它使用 更底层的 XHR 对象,而不是 jQuery 的“ajax”,因为它在 第一次测试。现在 Opera 很好!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-24
      • 1970-01-01
      • 2012-05-14
      • 1970-01-01
      • 2013-12-04
      • 2015-10-22
      相关资源
      最近更新 更多