我正在开发Asp.Net应用程序。我编写了以下JavaScript代码,以防止用户在登录应用程序时点击浏览器后退按钮不进入登录页面。它对我来说很好,但是从当我点击浏览器后退按钮的主页时,由于回发而出现闪烁。如何防止闪烁。
请提供解决方案。
function preventBack()
{
window.history.forward();
}
setTimeout("preventBack()", 0);
window.onunload=function()
{
null;
}
答案 0 :(得分:3)
页面在导航上闪烁。这是网络。每个人都习惯了。不要试图“修复”它。
闪烁绝对是你问题中最不重要的。试图打破后退按钮极具用户敌意,通常表明你已经搞砸了。它甚至不能一直工作(例如,中间点击后退),并且它打破了其他功能(例如,但我想要回几页!)。不要这样做。
如果您只是不希望登录页面保留在页面历史记录中,您可以让它执行AJAX登录过程(设置cookie),然后location.replace
转到下一页,或者,更好的是,在尝试访问需要登录的页面时返回登录页面,并在设置登录详细信息后只需location.reload
尝试再次访问该页面。
但实际上,如果点击“返回”会让他们回到现在已经不再相关的登录页面,因为他们已经登录,没有人关心。这就是99%的网站工作方式和用户期望的方式。
答案 1 :(得分:1)
这段代码绝对有问题!!!
我确信您获得了大量的系统资源和速度,以及页面内的死循环......
试着寻找别的东西来解决你的问题,女巫是谁?可能是什么?,当用户返回日志页面时,只需看到它是经过验证的用户并将其重定向到正确的页面。
避免使用此代码!!!