no.line

0.0.1 • Public • Published

Real online и offline events

В некоторых современных браузерах существуют специальные события online и offline. Но, к сожалению, они работают не так, как хотелось бы.

В Firefox и IE событие offline случается, когда пользователь вручную выберет Work Offline в меню. В Chrome offline означает, что нет ни одного активного сетевого интерфейса. Но даже если компьютер подключен к Wi-Fi сети, это не значит, что есть доступ в интернет. Хотя Chrome при этом будет считать, что он online.

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

Что и делает эта простая библиотека:

no.line.init({
    url: '/ping/',
    interval: 10000
});
 
$(window)
    .on('no-online no-offline', function(e) {
        var is_online = (e.type === 'no-online');
        ...
    });

В no.line.init можно передать url, который нужно пинговать и interval между пингами. Дефолтные параметры:

{
    url: '/',
    interval: 5000
}

После вызова no.line.init можно подписаться на события no-online и no-offline, генерируемые на window.

Кроме того, библиотека поддерживает нативные события online/offline и Page Visibility API. Пингование останавливается, если страница не в фокусе или же в оффлайне.

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 0.0.1
    3
    • latest

Version History

  • Version
    Downloads (Last 7 Days)
    • Published
  • 0.0.1
    3

Package Sidebar

Install

npm i no.line

Weekly Downloads

3

Version

0.0.1

License

none

Last publish

Collaborators

  • knopsh