запустить ajax запрос в браузере закрыт - PullRequest
0 голосов
/ 08 апреля 2020

Я работаю над сайтом и в настоящее время сталкиваюсь с проблемой, у меня есть пользователь, который будет гонщиком, когда он заходит на мой сайт, он должен быть отмечен как активный, а когда он уходит, он должен быть отмечен как неактивный. Ну, я могу отметить его активным и даже неактивным, когда он правильно выйдет из системы. Но что, если он закроет браузер или вкладку. Во-вторых, мое веб-приложение будет в основном работать на мобильном телефоне, так что если гонщик переключится между браузером и каким-нибудь другим приложением. Я уже пробовал

window.onbeforeunload = function(event) {
        //My Ajax Request
});

window.addEventListener("unload", function(event) {
        //My Ajax Request
});

, но он отлично работает на firefox, но иногда работает только на chrome и inte rnet explorer и не является надежным.

Я надеялся, что кто-то надеялся может помочь мне найти лучший и надежный подход.

Ответы [ 2 ]

0 голосов
/ 08 апреля 2020

выгрузка и до загрузки не считаются надежными для запроса Ajax. Вы можете выбрать короткий опрос - отправка индикации на сервер (например, каждые x секунд / минут) об активности пользователя. на основании этого пометьте пользователя как активного / неактивного.

для переключения между вкладками и мобильными приложениями. Вы можете использовать windows событие размытия, чтобы указать то же самое.

0 голосов
/ 08 апреля 2020

Попробуйте следующие подходы:

window.addEventListener("beforeunload", function(event) {
    //My Ajax Request
});

window.attachEvent("beforeunload", function(event) {
    //My Ajax Request
});

Кроме того, используйте event.preventDefault () перед выполнением запроса AJAX.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...