如何防止点击浏览器后退按钮时出现闪烁

时间:2010-04-12 11:37:41

标签: asp.net javascript html browser

我正在开发Asp.Net应用程序。我编写了以下JavaScript代码,以防止用户在登录应用程序时点击浏览器后退按钮不进入登录页面。它对我来说很好,但是从当我点击浏览器后退按钮的主页时,由于回发而出现闪烁。如何防止闪烁。

请提供解决方案。

function preventBack()
{
    window.history.forward();
}

setTimeout("preventBack()", 0);

window.onunload=function()
{
    null;
} 

2 个答案:

答案 0 :(得分:3)

页面在导航上闪烁。这是网络。每个人都习惯了。不要试图“修复”它。

闪烁绝对是你问题中最不重要的。试图打破后退按钮极具用户敌意,通常表明你已经搞砸了。它甚至不能一直工作(例如,中间点击后退),并且它打破了其他功能(例如,但我想要回几页!)。不要这样做。

如果您只是不希望登录页面保留在页面历史记录中,您可以让它执行AJAX登录过程(设置cookie),然后location.replace转到下一页,或者,更好的是,在尝试访问需要登录的页面时返回登录页面,并在设置登录详细信息后只需location.reload尝试再次访问该页面。

但实际上,如果点击“返回”会让他们回到现在已经不再相关的登录页面,因为他们已经登录,没有人关心。这就是99%的网站工作方式和用户期望的方式。

答案 1 :(得分:1)

这段代码绝对有问题!!!

我确信您获得了大量的系统资源和速度,以及页面内的死循环......

试着寻找别的东西来解决你的问题,女巫是谁?可能是什么?,当用户返回日志页面时,只需看到它是经过验证的用户并将其重定向到正确的页面。

避免使用此代码!!!

相关问题