Я обнаружил следующий случай, когда использование события beforeunload в IE11 приводит к странному поведению, когда вы не можете закрыть окно или вкладку IE.
Чтобы воспроизвести, запустите следующий код в консоли браузера:
window.onbeforeunload = function () {return false;}
Это должно вызвать всплывающее окно с подтверждением при обновлении страницы или попытке закрыть страницу / браузер.Обновление страницы в порядке, оно всегда вызывает всплывающее окно.Но закрытие вкладки / браузера завершается неудачно (вы не получаете всплывающее окно, потому что событие не запускается - вы не можете закрыть браузер, щелкнув по значку закрытия), если вы сделаете это:
Откройте IE 11 только с однимвкладка.Запустите код в консоли (для этой вкладки).Попробуйте закрыть вкладку - - - все хорошо, вы получите всплывающее окно - - - не покидайте страницу.Откройте вторую вкладку.Перейдите на первую вкладку и снова попробуйте закрыть ее - - - все еще хорошо.Теперь закройте вторую вкладку.Попробуйте закрыть первую вкладку - - - без всплывающего окна, кнопка закрытия ничего не делает.Если вы откроете другую вкладку, все снова будет хорошо работать.
У кого-нибудь есть идеи, как это можно исправить?