javascript — вызов URL через 10 секунд после закрытия страницы.

Я хотел бы определить, когда страница закрывается, и через 10 секунд используйте php для вызова URL. Поскольку php на стороне сервера, я думаю, что в отличие от JS, он будет вызывать URL независимо от того, активна страница или нет.

URL для звонка: http://postback.com/?id=xx

-3

Решение

После того, как вы закроете страницу, вы не сможете ничего сделать с пользователем.

Используйте Cron Job вместе с Ajax-вызовами.

Ajax отправляет на сервер, если он все еще в сети. Сохраните метку времени в базе данных вместе с уникальным идентификатором для идентификации браузера.

Запускайте Cron Job каждую секунду или две. Убедитесь, что отметка времени в базе данных старше 10 секунд. Если это так, используйте cUrl для вызова вашего URL

Псевдокод:

[js]
setInterval(
function () {
$.post('keepAlive.php?id='+$('#uid').val()),
}
4000
);

[PHP | keepAlive]

$db->insertOrUpdate($_GET['id'], time());

[PHP | cron]

$alive = $db->query('SELECT * FROM alive WHERE `time` < '.time());

foreach ($alive as $data) {
$this->sendCurl($data);
}
0

Другие решения

В браузерах нет события close, возможно, по соображениям безопасности.

Эта почта предлагает использовать дочернее окно для управления процессом закрытия.
Таким образом, в родительском окне поместите следующий код:

var win = window.open('http://www.google.com','google','width=800,height=600,status=0,toolbar=0');
var timer = setInterval(function() {
if(win.closed) {
clearInterval(timer);
setTimeout (function () {$.get( "http://postback.com/?id=xx" );}, 10000);
}
}, 1000);

Этот код не был проверен мной.

0