JSFiddle - React, Tailwind, and code Playground
HTML
<button type="button">Testar</button>
JavaScript
function testaLigacao(callback) {
var response;
var callbackName = 'temp_callback_' + new Date().getTime() + Math.floor(Math.random() * 100);
window[callbackName] = function (res) {
delete window[callbackName];
document.body.removeChild(script);
response = res;
};
var src = 'http://teusite.com/ping.php?callback=' + callbackName;
var script = document.createElement('script');
script.src = src;
script.onload = function () {
callback(true);
}
script.onerror = function () {
callback(false);
}
document.body.appendChild(script);
}
document.querySelector('button').addEventListener('click', function () {
testaLigacao(function (online) {
alert('O browser está ' + (online ? 'online.' : 'offline.'));
});
});