可能的重复:
防止使用后退按钮(在 IE 中) https://stackoverflow.com/questions/54539/prevent-use-of-the-back-button-in-ie
禁用浏览器上的后退按钮 https://stackoverflow.com/questions/87422/disabling-back-button-on-the-browser
如何禁用 IE 和 Firefox 中的后退按钮? https://stackoverflow.com/questions/780718/how-to-disable-back-button-in-ie-and-firefox
有时,我认为发布这个问题不合适,因为这个问题已经被问过很多次了,但这次我发布这个问题是为了承担后果,因为我别无选择。我会回答任何评论,我还可以在下面给出的任何链接中展示我的尝试(您可能感兴趣)。
我有一个登录页面和一个 page1。我需要处理或不工作登录页面上的浏览器后退按钮。有可能作为我已经为FF和Chrome做过了但无法为 IE 做。我的 FF 工作代码如下。
window.onload = function ()
{
if (typeof history.pushState === "function")
{
history.pushState("jibberish", null, null);
window.onpopstate = function ()
{
history.pushState('newjibberish', null, null);
// alert('back button pressed');
// This works in Chrome and FireFox but not in IE
};
}
}
我需要在登录页面中有一些代码(适用于所有浏览器),以便:期望的输出:按登录页面上的后退按钮不会让用户返回到第 1 页(就像 Facebook 登录页面一样). 我不想禁用后退按钮,只是为了处理登录页面上的点击。
Edit来自评论。请给出答案该怎么办,我读过“不要这样做”,但没有读过“该怎么做”。以下代码每次都会在页面加载时起作用,除非通过单击登录页面的后退按钮加载此页面(第 1 页)
if (Session["role"] == null)
Response.Redirect("login.aspx");
我试图关注同一问题的几个问题,但无法得到我需要的东西。如果没有其他解决方案,我宁愿不使用 window.location.hash 但准备好
代码项目 - 注销后浏览器后退按钮问题 http://www.codeproject.com/Tips/135121/Browser-back-button-issue-after-logout
BlogSpot - 检测浏览器的后退按钮 http://www.csharpcourses.com/2008/05/detect-back-button-of-browser.html
SO - 禁用浏览器后退按钮 https://stackoverflow.com/questions/961188/disable-browsers-back-button
SO - 禁用浏览器上的后退按钮 https://stackoverflow.com/questions/87422/disabling-back-button-on-the-browser
SO - 检测后退按钮点击 https://stackoverflow.com/questions/6359327/detect-back-button-click-in-browser
SO - 在 window.location.hash 上 - 改变? https://stackoverflow.com/questions/680785/on-window-location-hash-change
下面是几个插件。我试图遵循,但不知道它们是否是为我需要的而设计的,如果是的话,我无法正确使用它们中的任何一个
Salajax:简单的 Ajax 库 http://www.codeproject.com/Articles/19562/Salajax-simple-Ajax-library-solving-back-button-an
更好的 AJAX 返回按钮解决方案 http://www.ajaxonomy.com/2007/web-design/a-better-ajax-back-button-solution
历史.js https://github.com/browserstate/history.js