Сейчас я использую приведенный ниже код:
Код: Выделить всё
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() не следует использовать с beforeunload, его следует использовать с VisibilityChange, но я не могу понять, как это сделать для этого используйте VisibilityChange...
Большое спасибо за любые рекомендации!
Подробнее здесь: https://stackoverflow.com/questions/654 ... foreunload
Мобильная версия