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:

  1.    
  2. /*Comprueba si el servidor esta accesible (si la aplicacion esta en modo ONLINE/OFFLINE)*/  
  3. function isServerAvailable(callback, repeatForever, previouslyOnline) {  
  4. var request= google.gears.factory.create('beta.httprequest');  
  5. var TIME_BETWEEN_PINGS= 3*1000;  
  6. var resource_to_test = "UN_ARCHIVO_DE_TU_WEB";  
  7.   
  8. resource_to_test += "?q=" + Math.floor(Math.random() * 100000);  
  9. request.open('GET', resource_to_test);  
  10. request.onreadystatechange = function() {  
  11. if (request.readyState == 4) {  
  12.  var currentlyOnline = request.responseText != "" && request.responseText.indexOf("404 Page not found") == -1;  
  13.  if(currentlyOnline != previouslyOnline){  
  14.   callback(currentlyOnline);  
  15.   previouslyOnline = currentlyOnline;  
  16.  }  
  17.   
  18.  if(repeatForever)  
  19.   window.setTimeout("common.isServerAvailable("+callback+",true,"+currentlyOnline+")",TIME_BETWEEN_PINGS);  
  20. }  
  21. }  
  22.   
  23. request.send();  
  24. }  
Acuérdate de darle un valor a la variable "resource_to_test".

Su uso es el siguiente:

  1.  isServerAvailable(function(online){  
  2. alert("Estas " + (online ? "online" : "offline"));  
  3. }, 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