如何防止浏览器的后退按钮点击?

时间:2012-11-21 08:50:18

标签: c# javascript jquery

我不想通过浏览器的后退按钮进入我的历史记录页面。我怎么能这样做?

5 个答案:

答案 0 :(得分:2)

您可以使用HTML5历史记录API禁用它。 Jordan Hollinger有great article about this

答案 1 :(得分:2)

我同意Damien的观点,即你正在解决错误的问题。我在这个

上写了一篇博客文章
  

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

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

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

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

答案 2 :(得分:1)

你可以做到,但是@Ahren说你不应该这样做。

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

答案 3 :(得分:1)

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

Response.Cache.SetExpires(DateTime.Now.AddDays(-1));
Response.Cache.SetCacheability(HttpCacheability.NoCache);

答案 4 :(得分:0)

你的意思是从网站退出后?如果是这样,我认为这会对你有所帮助:link