注销后谷歌如何处理后退按钮?

Posted

技术标签:

【中文标题】注销后谷歌如何处理后退按钮?【英文标题】:How Google deals with the Back Button after logout? 【发布时间】:2012-11-03 09:14:03 【问题描述】:

我一直在网上搜索,试图找出一种避免在用户单击“返回”按钮时显示以前的不合适信息的好方法。

例如:

为了避免在注销后看到信息。 为了避免在发送和处理后看到表单。

我查看了这些帖子和许多其他帖子: avoid go back after logout Prevent back button after logout

我喜欢 Google 的解决方案,但我不知道如何实施。当我从我的 Gmail 帐户注销然后单击返回按钮时,我看不到以前的邮件,我停留在登录页面。

我不是想改变或避免返回按钮,我只是想避免显示不合适的数据。

我尝试使用不同的标头和元数据,但它们不起作用。

【问题讨论】:

没有人知道谷歌做了什么,因为它在服务器端;我们需要了解一种编程语言并查看一些代码。 【参考方案1】:

Gmail 是一个 javascript 网络服务,所以当你点击后退按钮时,静态只是加载被拒绝访问后端的 JavaScript 客户端。

在传统的非 Web 服务类型的应用程序上,每次加载页面时都会运行 JavaScript,以确保经过身份验证的会话仍然有效。如果用户未通过身份验证,请将其撞回登录页面。

没有 JS,浏览器只会加载一个缓存的副本。您可以通过添加这些元标记或 http 标头来禁用缓存:

   header( "Pragma: no-cache" );
   header( "Cache-Control: no-cache" );
   header(  "Expires: 0" );

您还可以使用元标记禁用缓存:

 <meta http-equiv="Pragma" content="no-cache">
 <meta http-equiv="Cache-Control" content="no-cache">

【讨论】:

感谢您的解释。您提供的代码似乎并非一直都能正常工作。我的代码中已经有了这些元数据,我注意到它们是小写的,我将其更改为 CamelCase,现在可以在 Firefox 中使用,但不能在 IE8 或 Chrome 中使用。也许这取决于 html especification,在我的例子中是 XHTML 1.0 Transitional。我很困惑。

以上是关于注销后谷歌如何处理后退按钮?的主要内容,如果未能解决你的问题,请参考以下文章

如何处理为 UWP 按下的后退按钮

离子2:如何处理硬件后退按钮,检查应用程序中退出的确认

使用jquery mobile时如何处理手机中的表单导航后退按钮

如何处理phonegap应用程序中iphone上丢失的硬件后退按钮?

如何处理后退按钮android以退出应用程序并在首页中打开时关闭本机导航侧菜单

当在rails中按下浏览器的后退按钮时,在注销后进入登录页面