При использовании «подтверждения ('сообщения')" в JavaScript отключение кнопок навигации в браузере - PullRequest
1 голос
/ 27 мая 2019

У меня есть ситуация, когда, когда пользователь нажимает кнопку «назад», я должен запросить «подтвердить» на странице, используя 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 '';}

Я получаю сообщение «Изменения, которые вы внесли, не могут быть сохранены», с предупреждением «назад», «вперед», «обновить» и всеми такими кнопками на странице.

Я хочу, чтобы то же самое (предупреждение этих кнопок) происходило при «подтвердить ('сообщение')".

1 Ответ

0 голосов
/ 27 мая 2019
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');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...