0

我不想通过浏览器的后退按钮返回我的历史页面。我怎么能做到这一点?

4

5 回答 5

2

您可以使用 HTML5 历史 API 禁用它。Jordan Hollinger有一篇很棒的文章

于 2012-11-21T08:56:16.073 回答
2

我同意 Damien 的观点,即您解决了错误的问题。我为此写了一篇博文

作为 Web 开发人员,您可以完全控制服务器代码,但在脚本方面只能有限控制客户端。您甚至不能保证客户端将具有任何脚本功能(用户可能会禁用脚本,直到他们信任您的站点),因此您永远不应该从客户端的角度设计您的站点行为 - 即尝试禁用浏览器的后退按钮。
相反,如果您需要实现行为,以便当注销的用户单击后退按钮时,他们会被重定向到登录页面,您需要设计您的站点以实现这一点。您的服务器端设计应该驱动客户端行为

完整的博客文章在这里 - http://www.dylanmorley.com/blog/post/Web-Development-Disabling-the-back-button.aspx

虽然您可以使用 javascript 实现所需的结果,但您不能保证所有设备在所有模式下的一致行为(例如 - 禁用脚本的移动浏览)

正确设计服务器端代码将导致正确的客户端行为,而不会破坏后退按钮的预期行为,无论是否启用脚本。

于 2012-11-21T09:27:32.037 回答
1

你可以这样做,但正如@Ahren 所说你不应该这样做。

您只需要开发 SPA(单页应用程序)。在这种情况下,您将只有对 Web 服务器的异步请求,并且您的页面将被部分更新。据我所知,您正在使用 asp.net 进行开发。因此,您可以在 asp.net 官方网站上了解如何操作:Samples: A Tour through SPA

于 2012-11-21T08:58:52.370 回答
1

您可以使缓存过期,并且可以实现此功能。

Response.Cache.SetExpires(DateTime.Now.AddDays(-1));
Response.Cache.SetCacheability(HttpCacheability.NoCache);
于 2012-11-21T09:29:09.583 回答
0

你的意思是从网站注销后?如果是这样,我认为这会对您有所帮助:链接

于 2012-11-21T08:53:17.073 回答