IE: удалить событие onbeforeunload при нажатии кнопки назад - PullRequest
0 голосов
/ 16 ноября 2018

Как видно из названия, я хотел бы удалить прослушиватель «beforeunload», когда в Internet Explorer нажата кнопка «Назад».Это то, что я сделал до сих пор (это приложение AngularJS):

 window.addEventListener('popstate', function (e) {
  window.onbeforeunload = null;
  e.preventDefault();
  window.location.href = window.location.origin + window.location.pathname;
});
if ($rootScope.isIE) {
  window.addEventListener('hashchange', function (e) {
    window.onbeforeunload = null;
    e.preventDefault();
    window.location.href = window.location.origin + window.location.pathname;
  });
}

Он работает безупречно в других браузерах, но я все равно получаю сообщение с подтверждением, когда нажимается кнопка возврата.К сожалению, из-за того, как работает приложение, нажатие кнопки «Оставаться на этой странице» приводит к поломке приложения.

...