JSFiddle - React, Tailwind, and code Playground
JavaScript
function networkListener(a, b){
var offlineF, onlineF;
if(a instanceof Function && b instanceof Function){
onlineF = a;
offlineF = b;
} else if(a instanceof Function){
if(typeof b === "string"){
if(b === "online"){
onlineF = a;
}else if(b === "offline"){
offlineF = a;
}
}else{
onlineF = a;
offlineF = a;
}
}
if(typeof onlineF !== "undefined"){
window.addEventListener('online', onlineF, false);
}
if(typeof offlineF !== "undefined"){
window.addEventListener('offline', offlineF, false);
}
}
var offline = function(){console.log('offline')};
var online = function(){console.log('online')};
var both = function(){console.log('both')};
networkListener(both);
networkListener(online, 'online');
networkListener(offline, 'offline');