注销后谷歌如何处理后退按钮?
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。我很困惑。以上是关于注销后谷歌如何处理后退按钮?的主要内容,如果未能解决你的问题,请参考以下文章
使用jquery mobile时如何处理手机中的表单导航后退按钮
如何处理phonegap应用程序中iphone上丢失的硬件后退按钮?