Ver Mensaje Individual
  #2 (permalink)  
Antiguo 27/02/2011, 16:08
gcrlink
 
Fecha de Ingreso: enero-2011
Ubicación: Cali
Mensajes: 73
Antigüedad: 13 años, 10 meses
Puntos: 2
Información Respuesta: Ayuda con Ajax

Saludos...

Pues trabjando un poco con el código y estudiando un poco más sobre ajax ya conseguí que el código publicado arriba me funcione para IE, y pues también sigue funcionando con FF y Safari. Lo único que tuve que hacer fue invertir el orden interno de la condición window.XMLHttpRequest por el window.ActiveXObject.

Para explicarme mejor les presento como me ha quedado el código hasta ahora para que lo comparen con el código anteriormente publicado.

Código Javascript:
Ver original
  1. function llamarasincrono (url,id_contenedor)
  2.  {
  3.      var pagina_requerida = false;
  4.      
  5.      if (window.ActiveXObject) // Para identificar versiones de IE
  6.      {
  7.           var versionesObj = new Array('Msxml2.XMLHTTP.5.0','Msxml2.XMLHTTP.4.0','Msxml2.XMLHTTP.3.0','Msxml2.XMLHTTP','Microsoft.XMLHTTP');
  8.          
  9.          for (var i = 0; i < versionesObj.length; i++) // for para recorrer el Array de versiones
  10.          {
  11.              try
  12.              {
  13.                  pagina_requerida = new ActiveXObject(versionesObj[i]);
  14.              }
  15.              catch(e)
  16.              {
  17.              }
  18.          }
  19.      }
  20.      else if (window.XMLHttpRequest) // Para identificar navegador Mozilla FF o otros navegadores que no sean IE
  21.      {
  22.          pagina_requerida = new XMLHttpRequest();
  23.      }
  24.      else
  25.      return false;
  26.      pagina_requerida.onreadystatechange = function()
  27.      {
  28.          cargarpagina(pagina_requerida,id_contenedor);
  29.      }
  30.      pagina_requerida.open("GET",url,true);
  31.      pagina_requerida.send(null);
  32.  }
  33.  
  34.  
  35. function cargarpagina (pagina_requerida,id_contenedor)
  36. {
  37.     switch (pagina_requerida.readyState)
  38.     {
  39.         case 0: document.getElementById(id_contenedor).innerHTML = "Sin iniciar la carga de información";
  40.         break;
  41.        
  42.         case 1: document.getElementById(id_contenedor).innerHTML = "cargando la información";
  43.         break;
  44.        
  45.         case 2: document.getElementById(id_contenedor).innerHTML = "Información cargada";
  46.         break;
  47.        
  48.         case 3: document.getElementById(id_contenedor).innerHTML = "Puede Interactuar con los demás objetos de la página";
  49.         break;
  50.        
  51.         case 4: document.getElementById(id_contenedor).innerHTML = "Carga de información completada";
  52.         break;
  53.     }
  54.         document.getElementById(id_contenedor).innerHTML = pagina_requerida.responseText;
  55. }

Pero todavía no consigo que me funcione para CHROME y OPERA.

POR FAVOR AYUDAAAAA....