Перевод пользователя в автономный режим при закрытии окна или вкладки

#javascript

#javascript

Вопрос:

У меня есть этот код:

 function stopNavigate() {
    $(window).off('beforeunload');
}

$(window).on('beforeunload', function() {
    return 'Are you sure you want to leave?';
});

$(window).on('unload', function() {
    $.ajax( domain   '/poneOffline' );
);
  

В Chrome это работает нормально, но в Firefox это происходит не тогда, когда пользователь закрывает браузер. Кто-нибудь знает, почему это так?

Комментарии:

1. это происходит потому, что окно закрывается до отправки запроса, это никогда не сработает, это неправильный подход, подумайте, что происходит, когда у пользователя открыто несколько окон?

2. возможно, это излишне для того, что вы делаете, я использую SignalR с C #, и благодаря его опросу я могу определить, когда пользователь и все его экземпляры отключены. хотя я создаю полноценное приложение для чата, возможно, оно того не стоит только для обнаружения отключений.

3. Есть ли какой-либо способ сделать то, что я говорю?

4. Почему вы хотите вывести пользователя из системы? Session_timeout на стороне сервера недостаточно? И вопрос, заданный @Lashane, очень хорош.

5. Я бы сделал это таким образом! Но в c # у вас не должно быть тайм-аута сеанса, можно просто установить какую-то логику обновления в логике context dispose? Это может просто вывести пользователя из системы. Другим способом было бы установить тайм-аут в файлах cookie…