Foros del Web » Programando para Internet » Javascript » Frameworks JS »

saber si estoy conectado

Estas en el tema de saber si estoy conectado en el foro de Frameworks JS en Foros del Web. Buenas: estoy intentando saber como puedo hacer para que mi pagina web me diga si estoy conectado al servidor con ajax... tengo el siguiente codigo... ...
  #1 (permalink)  
Antiguo 24/07/2009, 11:46
 
Fecha de Ingreso: noviembre-2007
Mensajes: 229
Antigüedad: 17 años, 1 mes
Puntos: 0
saber si estoy conectado

Buenas:

estoy intentando saber como puedo hacer para que mi pagina web me diga si estoy conectado al servidor con ajax...

tengo el siguiente codigo...

Código PHP:
function ReqChange(url){
        var 
contenido;
         var 
contenconect;
        
contenido document.getElementById('online');
         
contenconect document.getElementById('conexion');

        
//creamos el objeto XMLHttpRequest
        
ajax2=NuevoAjax();
        
//peticionamos los datos, le damos la url enviada desde el link
        
ajax2.open("GET"url,true);
        
ajax2.onreadystatechange=function(){
                if(
ajax2.readyState==1){

                       
// load.innerHTML = "Cargando...";
                        //modificamos el estilo de la div, mostrando una imagen de fondo
                      //  load.style.background = "url('loading.gif') no-repeat";
                
}else if(ajax2.readyState==4){
                        if(
ajax2.status==200){
                                
//mostramos los datos dentro de la div
                                //contenido.innerHTML = ajax.responseText;
                                
var scs=ajax2.responseText.extractScript();    //capturamos los scripts
                                
contenido.innerHTML=ajax2.responseText.stripScript();    //eliminamos los scripts... ya son innecesarios
                                
scs.evalScript();       //ahora si, comenzamos a interpretar todo
                                
contenconect.innerHTML="<img src='../img_desing/ballgreen.png' height='15px' width='15px'>";
                              
//  load.innerHTML = "Cargado.";
                              // load.style.background = "url('loaded.gif') no-repeat";
                        
}else if(ajax2.status==404){
                                 
//la pagina no existe
                                 
contenconect.innerHTML="<img src='../img_desing/icon-alert.png' height='15px' width='15px'>";
                        }else{
                                
//mostramos el posible error
                                
contenconect.innerHTML="<img src='../img_desing/icon-alert.png' height='15px' width='15px'>";

                        }
                }
        }
        
ajax2.send(null);

en teoria este codigo si esta conectado al servidor(es decir si recibe la informacion del servidor)me muestra en el div conexion la imagen greenball.png y si no la recibe muestra icon-alert.png...pero si yo me desconecto de internet no me sale la imagen aert-icon...

como puedo conseguir que pase esto??


gracias..
  #2 (permalink)  
Antiguo 27/07/2009, 11:09
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 9 meses
Puntos: 62
Respuesta: saber si estoy conectado

Aupa, te comento como lo hago yo en mi chat:

Hay una llamada ajax que se ejecuta cada 10 segundos:

Esta llamada lo que hace es borrar los datos de la tabla de usuarios online que se hayan desconectado por una antiguedad de hace 15 segundos, por lo tanto si alguien no ha enviado la peticion de estoy conectado el sistema lo borrará de la tabla.

Esta llamada a su vez despues de borrar los usuarios que no están online, agrega el usuario que está logeado en ese mismo momento.

Puedes hacer una única llamada incluso que no sea ajax, pero como yo tengo un chat ese refresco debe ser constante, espero haber sido de ayuda.

Un saludo :)
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan

Última edición por ZiTAL; 27/07/2009 a las 11:10 Razón: yeah
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:17.