2010-12-06 2 views
19

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

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

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

+0

Я не думаю, что веб-страница может взаимодействовать с графическим интерфейсом браузера таким образом, но мне интересно узнать, не ошибаюсь ли я в этом. – 2010-12-06 21:19:21

+0

Я видел, что сайты делают что-то, что заставляет (в IE) вкладку менять цвет. Я просто не знаю, как они это достигают, и все примеры ускользают от меня прямо сейчас. – Josh 2010-12-06 21:20:20

+2

Просто потому, что это возможно в IE, не означает, что оно должно быть разрешено. Мигающее сообщение, если человек находится за компьютером, должно быть достаточным для привлечения внимания (оно, безусловно, работает для оповещений в Facebook). – 2010-12-06 21:24:51

ответ

22

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

document.title = 'New title'; 

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

1

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

11

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

Как упомянуто в Josiah, 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/

0

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

Смежные вопросы