在JavaScript中使用“ confirm('message')”时,禁用浏览器导航按钮

时间:2019-05-27 09:46:41

标签: javascript jquery html google-chrome browser

我遇到一种情况,当用户单击“后退”按钮时,我必须使用JavaScript在页面上提示“确认”。结果将决定是否保留在页面上。

我用过以下内容:

   window.onbeforeunload = function () {

         var answer = return confirm("Please note by clicking the back button will reset your selection")

         if (!answer) {
            event.preventDefault();
         }
         else{

         // do something
         }
 };

现在,即使这在页面上提示弹出窗口,仍可以单击“后退”按钮,将用户带到上一页。

另一方面,通过使用以下内容。

   window.onbeforeunload = () => {return '';}

我收到消息“您所做的更改可能不会保存。”,并在页面上显示了“后退”,“前进”,“刷新”和所有此类按钮。

我希望在“ confirm('message')”上发生同样的事情(防止这些按钮)。

1 个答案:

答案 0 :(得分:0)

function Confirm_something() {
    history.pushState(null, null, location.href);
      window.onpopstate = function () {
        history.go(1);
      };
    return confirm("Text you want?");
}

if(Confirm_something){
   console.log('user say yes'); //then call your save edit or delete functions.
}
else{
   console.log('user say no');
}