Yo estaba seguro que había un evento para detectar si se estaba conectado, o no.
Y está, pero no anda bien.
Funciona perfecto para saber si el usuario se desconecta en el navegador ("Trabajar sin conexión"), pero para saber si se desconecta por soft de la red local (clickeando en la herramienta del SO), sólo anda en IE y Chrome, los demás tienen limitaciones. Y más si se desconecta por hard (desenchufan el cable), o si están conectados a red local, pero no a internet (que está un paso más allá).
Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<body onload = alfa();>
<script type="text/javascript">
function alfa() {
var bravo = navigator.onLine ? "Conectado." : "Desconectado.";
document.write("<h1>"+ bravo +"</h1>");
}
</script>
</body>
</html>
Creo que alguien dejó una manera de usarlo con una suerte de ping-pong entre dos funciones que se disparaban mutuamente un par de veces y el resultado era más efectivo para saber si el navegador arrancaba sin conexión; pero no lo encuentro.
(Muy ingenioso lo del número al azar ¿es para que no quere cacheada, verdad?)