jueves, 6 de agosto de 2009

Google Gears: Comprobar si estamos online u offline

Con esta sencilla función, podemos comprobar si estamos conectados a la red o, por el contrario, estamos sin conexión:

 
/*Comprueba si el servidor esta accesible (si la aplicacion esta en modo ONLINE/OFFLINE)*/
function isServerAvailable(callback, repeatForever, previouslyOnline) {
var request= google.gears.factory.create('beta.httprequest');
var TIME_BETWEEN_PINGS= 3*1000;
var resource_to_test = "UN_ARCHIVO_DE_TU_WEB";

resource_to_test += "?q=" + Math.floor(Math.random() * 100000);
request.open('GET', resource_to_test);
request.onreadystatechange = function() {
if (request.readyState == 4) {
var currentlyOnline = request.responseText != "" && request.responseText.indexOf("404 Page not found") == -1;
if(currentlyOnline != previouslyOnline){
callback(currentlyOnline);
previouslyOnline = currentlyOnline;
}

if(repeatForever)
window.setTimeout("common.isServerAvailable("+callback+",true,"+currentlyOnline+")",TIME_BETWEEN_PINGS);
}
}

request.send();
}
Acuérdate de darle un valor a la variable "resource_to_test".

Su uso es el siguiente:

 isServerAvailable(function(online){
alert("Estas " + (online ? "online" : "offline"));
}, true);
De esta forma sencilla puedes indicar en tu aplicación Gears si el usuario está conectado a la red de redes o está sin conexión :-D

No hay comentarios:

Publicar un comentario