浏览器后退按钮显示缓存中的页面?

Posted

技术标签:

【中文标题】浏览器后退按钮显示缓存中的页面?【英文标题】:Browser back button showing the page from cache? 【发布时间】:2013-12-04 00:19:09 【问题描述】:

当我从 wordpress 网站注销时,它将被重定向到登录页面。但问题是,如果我点击浏览器的后退按钮,它会显示上一页,需要授权。我知道,页面正在从浏览器缓存中加载,并且没有与服务器进行交互。但是如果用户点击浏览器后退按钮,我需要强制页面重新加载。

我确实检查了标题,我可以找到以下内容

Cache-Control:  no-cache, must-revalidate, max-age=0

我也尝试过添加以下元标记,但没有成功。

<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">

请帮忙

【问题讨论】:

madhatted.com/2013/6/16/you-do-not-understand-browser-history 可以帮忙=) 【参考方案1】:

我已经尝试通过设置如下标题,它就像一个魅力!

header("Cache-Control: private, must-revalidate,
        max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0"
      );

【讨论】:

其中哪一项对您有帮助?【参考方案2】:

尝试了很多解决方案,但只有以下一个解决了。在注销页面中添加了下面的 java 脚本。 所有其他解决方案都可以在 IE 以外的浏览器中正常运行。

window.onunload = function() 
    window.location.href = "<%=request.getContextPath()%>/logout.jsp";
;

【讨论】:

以上是关于浏览器后退按钮显示缓存中的页面?的主要内容,如果未能解决你的问题,请参考以下文章

后退按钮(浏览器行为)

Web 浏览器中的后退按钮如何工作?

使用浏览器后退按钮时如何强制重新加载页面?

java web系统安全退出后点击浏览器后退按钮还会跳转到刚才浏览页面

当客户端通过点击后退按钮进入页面时,如何使其加载新副本而不是缓存副本?

servlet会话,注销后,按下浏览器的后退按钮时,再次显示安全页面[重复]