Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/10/2008, 13:33
filmixt
 
Fecha de Ingreso: septiembre-2008
Mensajes: 91
Antigüedad: 16 años, 2 meses
Puntos: 1
De acuerdo Actualizar pagina sin recargar

Hola a todos,
Se que hay muchos temas como este, pero este es distinto.
Veamos, aqui tengo el codigo para hacer esto posible:

Código:
<script language="javascript"  type="text/javascript">
var RequestObject = false; 
  var Archivo = 'reload.php'; // Archivo a actualizar
  window.setInterval("actualizacion_reloj()", 1000); // el tiempo X que tardará en actualizarse 
  if (window.XMLHttpRequest) // 
RequestObject = new XMLHttpRequest();
if (window.ActiveXObject)	
  RequestObject = new ActiveXObject("Microsoft.XMLHTTP");
function ReqChange() {
// Si se ha recibido la información correctamente
  if (RequestObject.readyState==4) {
  // si la información es válida 
  if (RequestObject.responseText.indexOf('invalid') == -1) 
  { 
  // obtener la respuesta 
  var msgs = RequestObject.responseText.split('|');
  // Buscamos la div con id online 

  document.getElementById("online").innerHTML = msgs[0];
 
  }
  else {
  // Por si hay algun error 
  document.getElementById("online").innerHTML = "Error llamando";
  }
  }
  }
function llamandonline() {
 // Mensaje a mostrar mientras se obtiene la información remota...
  document.getElementById("online").innerHTML = "";
  // Preparamos la obtención de datos 
  RequestObject.open("GET", Archivo , true);
  RequestObject.onreadystatechange = ReqChange;
  // Enviamos 
  RequestObject.send(null); 
  }
  function actualizacion_reloj() {
  llamandonline();
  }
</script>
Código HTML:
<div id="online">AQUI VA EL ARCHIVO QUE SE RECARGA</div> 
El caso es que en mi pagina, cuando muestro los resultados actualizados, desaparece unos instantes lo que es el reload.php, por lo que lo que está debajo de éste (tablas y texto) sube debido a la ausencia de reload.php, y parece un circo.

Querria dos cosas,
1) Si lo que hay dentro del DIV es igual a la de la recarga, que no refresque ésta.
He probado con

Código:
  if( document.getElementById("online").innerHTML !== msgs[0] ){
  document.getElementById("online").innerHTML = msgs[0];
  }
Pero no tuve suerte, a ver si ustedes me lo resuelven.

2) Que refresque cuando tenga definitivamente cargado el archivo, porque parpadea y no deberia si el ReadyState está en 4.

Si el segundo no puede resolverse, que le vamos a hacer =( fallo de las programaciones.

Un saludo y muchas gracias.