У нас есть сайт со странной проблемой, по крайней мере, из-за моего понимания метода onbeforeunload
. По сути, когда пользователь покидает страницу, либо отходит от нее, закрывает вкладку или закрывает браузер, необходимо выполнить вызов AJAX, который снимает блокировку.
Метод очень прост :
window.onbeforeunload = function(e) {
$.ajax({...});
}
(вызов AJAX выполняется синхронно)
Мы проверили этот код и обнаружили, что если пользователь закрывает заданную вкладку c (когда имеется более одна вкладка открыта), вызов AJAX работает отлично. ОДНАКО, если весь браузер закрыт, то код в функции onbeforeunload
не работает должным образом (то есть блокировка страницы остается). Мы проверили это как в Chrome, так и в Edge, и то же самое происходит в обоих браузерах.
Насколько я понимаю, onbeforeunload
должен срабатывать всякий раз, когда страница удаляется (то есть, щелкая ссылку) закрытие вкладки или закрытие браузера). Я знаю, что было предостережение о необходимости хотя бы раз взаимодействовать со страницей, что и происходит. Я проверил это, отредактировав элементы на странице, и эта проблема все еще сохраняется.
Может кто-нибудь подсказать, почему это происходит? Все работает найти, если вкладка закрыта, но браузер остается открытым, но не работает, если браузер закрыт. Заранее благодарим вас за любую информацию / руководство, которое вы можете предоставить.