防止用户在浏览器窗口中返回

时间:2019-05-03 22:41:52

标签: javascript back-button

有人可以解释此代码的工作原理吗?

function preventBack(){window.history.forward();} 
setTimeout("preventBack()", 0); 
window.onunload=function(){null};

1 个答案:

答案 0 :(得分:0)

window.history.forward();

forward()方法将在历史记录列表中加载下一个URL,这与单击浏览器中的“转发按钮”相同。如果执行window.history.back(),则将转到上一页。

setTimeout(preventBack(), 0); 

在此,setTimeout函数每隔0毫秒(即刻)执行一次preventBack()函数。因此,它将不让用户有任何时间按返回按钮来继续执行代码。

因此,因此用户将无法返回。

顺便说一句,函数名称不应该用双引号引起来。

window.onunload=function(){null};

这意味着{}中的代码将在用户离开页面之前执行(为空)。