Подтвердить что ты не робот

Сделать вкладку браузера флагом уведомления

Из соображений безопасности мой сайт автоматически подписывает пользователей через 5 минут бездействия. Я достигаю этого через тайм-ауты jquery, которые reset в любое время, когда пользователь делает то, что я считаю "активностью". Чтобы обеспечить безопасность, тайм-аут файла cookie также устанавливается в 5 минут, и мой jquery возвращает сердцебиение обратно на сервер, чтобы гарантировать, что cookie не истечет.

В настоящее время, примерно через 4 минуты бездействия, открывается диалоговое окно jquery ui, предупреждающее пользователя о надвигающемся таймауте. Пользователь может выбрать, чтобы войти в систему, выйти сейчас или ничего не делать, и они вынуждены выходить в конце 5 минут.

Моя проблема в том, что я хочу, чтобы вкладка flash/blink с другим цветом фона предупреждала пользователя, что что-то происходит, пока они не обращают внимания. Я просто не уверен, как это сделать.

4b9b3361

Ответ 1

Вы можете изменить название страницы (это также должно изменить текст на вкладке).

document.title = 'New title';

Кроме того, вы можете сделать это в setInterval назад и вперед между заголовком страницы и информацией, которую вы пытаетесь показать пользователю. Я видел это поведение в gmail с входящим сообщением чата.

Ответ 2

Невозможно изменить фон вкладки браузера, по крайней мере, не последовательно на всех.

Как отметил Йосия, setInterval можно использовать для создания мигающего заголовка страницы.

Этот javascript использует его:

var PageTitleNotification = {
    Vars:{
        OriginalTitle: document.title,
        Interval: null
    },    
    On: function(notification, intervalSpeed){
        var _this = this;
        _this.Vars.Interval = setInterval(function(){
             document.title = (_this.Vars.OriginalTitle == document.title)
                                 ? notification
                                 : _this.Vars.OriginalTitle;
        }, (intervalSpeed) ? intervalSpeed : 1000);
    },
    Off: function(){
        clearInterval(this.Vars.Interval);
        document.title = this.Vars.OriginalTitle;   
    }
}

Это можно использовать как:

PageTitleNotification.On("User logged out!");

См. мой следующий пост в блоге для получения дополнительной информации:

http://curtistimson.co.uk/js/create-a-flashing-tab-notification-page-title/

Ответ 3

вы можете изменить заголовок страницы, который будет отображаться на вкладке браузера, но вы не можете изменить цвет фона или сделать его мигающим.

Ответ 4

Вы также можете добавить окно alert. Когда пользователь находится на другой вкладке, браузер имеет встроенную функцию мигания вкладок (с предупреждением). Таким образом, изменение названия документа вместе с предупреждением будет служить вашей цели. Примечание: перед отображением оповещения вам нужно сначала проверить, активна ли табло.