Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/06/2011, 05:54
phronesis
 
Fecha de Ingreso: mayo-2008
Mensajes: 6
Antigüedad: 15 años, 10 meses
Puntos: 0
Duda con script ajax + joomla que funciona a veces

Hola Señores,

Tengo implementado en una web en joomla este script que refresca cada minuto un chart con unos gif que dan la cotizacion del oro.

La duda es que a veces funciona y a veces se cuelga y, si bien parece que actualiza porque parpadea, no recarga verdaderamente el codigo.

Pareceria ser algo del template, porque en otra web con otra plantilla anda de maravillas (aunque no funciona en IE, esa es la otra duda).

Cuál puede ser el conflicto ? Hay algo en el código que no esté del todo correcto ? O es algo de Joomla ?

Si alguien puede dar una pista, lo agradecería.

Código HTML:
<script language="javascript"  type="text/javascript">
var RequestObject = false; 
  var Archivo = 'charts.php'; //directorio donde tenemos el archivo ajax.php 
  window.setInterval("actualizacion_reloj()", 60000); // el tiempo X que tardara en actualizarse 
  if (window.XMLHttpRequest) // 
RequestObject = new XMLHttpRequest();
if (window.ActiveXObject)	
  RequestObject = new ActiveXObject("Microsoft.XMLHTTP");
function ReqChange() {
// Si se ha recibido la informacion correctamente
  if (RequestObject.readyState==4) {
  // si la informacion es valida 
  if (RequestObject.responseText.indexOf('invalid') == -1) 
  { 
  // Buscamos la div con id online 
  document.getElementById("online").innerHTML = RequestObject.responseText;
  }
  else {
  // Por si hay algun error 
  document.getElementById("online").innerHTML = "Error llamando";
  }
  }
  }
function llamadaAjax() {
 // Mensaje a mostrar mientras se obtiene la informacion remota...
  document.getElementById("online").innerHTML = "";
  // Preparamos la obtencion de datos 
  RequestObject.open("GET", Archivo+"?"+Math.random() , true);
  RequestObject.onreadystatechange = ReqChange;
  // Enviamos 
  RequestObject.send(null); 
  }
  function actualizacion_reloj() {
  llamadaAjax();
  }
</script>
<div id="online"></div>