Как использоватьvisibilitychange вместо beforeunload?Jquery

Программирование на jquery
Ответить
Anonymous
 Как использоватьvisibilitychange вместо beforeunload?

Сообщение Anonymous »

Мне нужно, чтобы мое веб-приложение отправляло оператор вставки при закрытии браузера или вкладки.
Сейчас я использую приведенный ниже код:

Код: Выделить всё

function onExit() {

var fd = new FormData();

fd.append('postmessage', 'CALL myinsertstatement()');

navigator.sendBeacon('insert.php', fd);

}

function sleep(delay) {

var start = new Date().getTime();

while (new Date().getTime() < start + delay);

}

window.addEventListener('beforeunload', function(event) {

onExit();

sleep(1000);

});

Я использую метод Sleep(), чтобы задержать закрытие окна, чтобы дать ему достаточно времени для выполнения метода sendBeacon(), потому что без него большую часть времени он не работал.
Метод Sleep() у меня всегда работает, но я беспокоюсь, что он может не работать с у кого-то медленный Интернет, не говоря уже о том, что sendBeacon() не следует использовать с beforeunload, его следует использовать с VisibilityChange, но я не могу понять, как это сделать для этого используйте VisibilityChange...
Большое спасибо за любые рекомендации!

Подробнее здесь: https://stackoverflow.com/questions/654 ... foreunload
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»