Вы можете использовать метод navigator.online
, однако он обнаруживает только то, что вы подключены к сети, и не проверяет интернет.
Лучший способ - проверять использование ajax при использовании времени.метод интервала
setInterval(checkInternet(),1000); //runs the function every one min
//pings your own domain
checkInternet(function() {
$.ajax({
type: "HEAD",
url: document.location.pathname + "?param=" + new Date(),
error: function() {
console.log(false);
},
success: function() {
console.log(true);
//add you function here
}
});
}, 1000);
Или вместо интервала времени вы можете
// Will run when a connection to a network is detected
if (navigator.online){
checkInternet();
}
ИЛИ
window.addEventListener('online', checkInternet());