Как видно из названия, я хотел бы удалить прослушиватель «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;
});
}
Он работает безупречно в других браузерах, но я все равно получаю сообщение с подтверждением, когда нажимается кнопка возврата.К сожалению, из-за того, как работает приложение, нажатие кнопки «Оставаться на этой странице» приводит к поломке приложения.