no-internet
Checking if the internet is accessible (not local connection only)
window.navigator.onLine
is the simplest approach to return the online status of the browser. It is not guarantee to be accurate. Most implementations of the API watch for changes in the local network interface to determine if your application is online or not. But what if your network interface is up, but your router is down ☝️. window.navigator.onLine
will return true
and it means that you are online and that is WRONG. To handle that case we make XMLHttpRequest
and listen change in the network state by events window.ononline
and window.onoffline
to be notified immediatly 😎
Getting no-internet
npm
npm install --save no-internet
yarn
yarn add no-internet --save
Examples
import noInternet from 'no-internet'
One check
noInternet().then(offline => {
if (offline) {
}
})
Interval checking
function noInternetCallback(offline) {
if (offline) {
}
}
noInternet({callback: noInternetCallback})
noInternet.clearInterval()
API
noInternet([options])
options
Type: Object
milliseconds
Type: number
Default: 5000
Connection is checked at specified intervals (in milliseconds)
url
Type: string
Default: ${window.location.protocol}//${window.location.host}/favicon.ico
HTTP request is sent to DOMAIN/favicon.ico
for connection checking.
You can specify URL with domain for e.g. https://github.com/favicon.ico
callback
Type: function
Arguments: offline
type boolean
Default: undefined
Function that gets called in each connection checking