node package manager
Love JavaScript? Your insights can make it even better. Take the 2017 JavaScript Ecosystem Survey »



Network connection JavaScript module with online/offline events


$ npm install cxn --save
var cxn = require('cxn')

API true if online

cxn.offline(listener?)boolean true if offline

cxn.line(listener?)cxn listen to online and offline

cxn.unline(listener?)cxn unlisten to online and offline

cxn.stable()boolean true if initial connection state persists

cxn.unstable()number times connection state changed

cxn.elapsed()number ms since runtime

cxn.interim()number ms at current state ms at current offline state (0 if online) ms at current online state (0 if offline)

cxn.late()number ms to first go online, Infinity if not yet, 0 if started online

cxn.bandwidth()number MB/s (0 if offline)

cxn.metered()boolean true if data usage is metered

cxn.wire(event, listener?)cxn listen

cxn.unwire(event, listener?)cxn unlisten

cxn.listeners(event)Array listeners

cxn.emit(event)number listeners fired


html[data-cxn] reports states

[data-cxn~="stable"] { border-top:4px solid blue }
[data-cxn~="unstable"] { border-top:4px dotted yellow }
[data-cxn~="online"] { border-top-color:green }
[data-cxn~="offline"] { border-top-color:red }