防止浏览器中的后退导航,但不能阻止使用window.onbeforeunload进行刷新

Prevent back navigation in browser, but not prevent refresh using window.onbeforeunload

本文关键字:window onbeforeunload 刷新 浏览器 导航 但不能      更新时间:2023-09-26

我试图提醒用户返回导航将注销他们。我在stackoverflow上找到了这个很好的代码,它工作得很好;但是,我不希望在用户刷新页面时提醒他们。下面是代码:

window.onbeforeunload = function(){
    return "Going back will log you out, and lose your information. Are you sure you want to do this?";
};

我已经禁用了退格键用于返回导航。当用户使用导航后退箭头、鼠标按钮或页面刷新时,此代码会提醒用户。我希望警报显示除了页面刷新之外的所有内容

您可以使用onpopstate:

var unsavedData = "Going back will log you out, and lose your information. Are you sure you want to do this?";
window.onpopstate = function askConfirm() {
  if (needToConfirm)
    return unsavedData;
}