Форум программистов, компьютерный форум, киберфорум
Наши страницы
and_y87
Войти
Регистрация
Восстановить пароль
Оценить эту запись

isOnline - трекер соединения с сайтом.

Запись от and_y87 размещена 14.07.2014 в 11:51
Обновил(-а) and_y87 14.07.2014 в 16:52
Метки js, online, plugin

Недавно загорелся желанием создать скрипт позволяющий определить есть ли у пользователя соединение с сайтом.
На мой скромный взгляд это актуально для Touch-устройств.

Профит вижу в следующем:
перед запросом проверять переменную ONLINE на == false.
и если условие прошло, то оповещать пользователя о том что пока он не будет в сети, ничего не будет.

Так я и написал скрипт isOnline[ссылка на gitHub]
Скрипт с указанным интервалом проверяет наличие соединения с сайтом.
Работает через ajax() & setTimeout()

Ставится как плагин для элемента, и подключается соответственно:
Javascript
1
$('#target').isOnlide( /** options **/ );
Описание опций:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
  self    : $( selector ),  // ссылка на элемент с которым будут происходить изменения при смене статуса
  text    : {
    online      : str,  // текст вставляемый в блок SELF при получении "статуса ключа"
    offline     : str   // текст вставляемый в блок SELF при получении "статуса ключа"
  }
  class   : {
    online      : str,  // класс получаемый блоком SELF при получении "статуса ключа"
    offline     : str   // класс получаемый блоком SELF при получении "статуса ключа"
  }
  smart   : bool,   // Статус smart режима
  x       : float,  // Модификатор smart режима
  online  : int,    // Через сколько сек. Повторный запрос при флаге ONLINE.
  offline : int,    // Через сколько сек. Повторный запрос при флаге OFFLINE
  wait    : int,    // Сколько даётся сек. на ответ от сервера.
  sleep   : int,    // Динамическая переменная повторного запроса.
  max     : int     // максимальное время интервала.
}
Default var

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var option = {
        self    : $(this),
        text    : {
            online      : 'ONLINE',
            offline     : 'OFFLINE'
        },
        class   : {
            online      : 'online',
            offline     : 'offline'
        },
        smart   : false,
        x       : 0.25,
        online  : 10,   // Через сколько сек. Повторный запрос при флаге ONLINE.
        offline : 5,    // Через сколько сек. Повторный запрос при флаге OFFLINE
        wait    : 5,    // Сколько даётся сек. на ответ от сервера.
        sleep   : 5     // Динамическая переменная повторного запроса.
        max     : 60    // максимальное время интервала.
    };



Режим smart : true, увеличивает время интервала между проверками
значение на которое увеличивает равняется x * option.onlnie || option.offline в зависимости от статуса.
Если режим smart : false то время интервала будет неизменным.

В общем, как мне кажется, настройки довольно гибкие.

Буду рад конструктивным комментариям и мыслям.
Всего комментариев 0
Комментарии
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru