Foros del Web » Programando para Internet » Javascript »

Rand en IE

Estas en el tema de Rand en IE en el foro de Javascript en Foros del Web. Buenas, tengo el siguiente código: Por una parte en JS.- addEvent(window,'load',inicializarEventos,false); var conexion1; function inicializarEventos() { conexion1=crearXMLHttpRequest(); conexion1.open('GET','obtenerImagen.php',true); conexion1.onreadystatechange=procesarEventos; conexion1.send(null); } function procesarEventos() { var ...
  #1 (permalink)  
Antiguo 10/10/2010, 10:02
 
Fecha de Ingreso: junio-2007
Mensajes: 298
Antigüedad: 17 años, 6 meses
Puntos: 5
Rand en IE

Buenas, tengo el siguiente código:

Por una parte en JS.-

addEvent(window,'load',inicializarEventos,false);

var conexion1;
function inicializarEventos()
{
conexion1=crearXMLHttpRequest();
conexion1.open('GET','obtenerImagen.php',true);
conexion1.onreadystatechange=procesarEventos;
conexion1.send(null);
}

function procesarEventos() {
var fotoPortada=document.getElementById("fotoPortada") ;
if(conexion1.readyState==4) {
fotoPortada.innerHTML=conexion1.responseText;
setTimeout("inicializarEventos()", 7000);
}
}

Por otra parte el fichero obtenerImagen.php:

$azar=rand(0,225);
$sql="select imagen from tabla where IdImagen=".$azar;
$registros=mysql_query($sql);
$row=mysql_fetch_assoc($registros);
<img border=0 src="images/<?php echo $row["imagen"];?>">

Pues bien, en Mozilla me funciona perfectamente, es decir, cada 7 segundos me va cambiando una imagen por otra. Pero en IE siempre muestra la misma imagen. He comprobado que a pesar de poner $azar=rand(0,225) siempre en IE me da el mismo número, es decir, no coge uno nuevo cada vez que entra.

¿A qué se puede deber esto? ¿En IE se tiene que utilizar un comando diferente a Rand?

Gracias
  #2 (permalink)  
Antiguo 10/10/2010, 10:17
 
Fecha de Ingreso: mayo-2009
Mensajes: 19
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: Rand en IE

si es problema de exploradores no puede ser problema de servidor, es decir si en mozilla anda bien, entonces la parte php esta bien, el problema esta en el javascript y ahi yo la verdad me quedo cojo

saludos!
  #3 (permalink)  
Antiguo 11/10/2010, 10:27
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Tema movido desde PHP a Javascript
  #4 (permalink)  
Antiguo 11/10/2010, 14:18
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: Rand en IE

lo que pasa con iexplorer es que la peticion AJAX, aunque la realiza, esta tomando la respuesta de la cache del navegador. una forma de solucionarlo es pasando una variable aleatoria por la url de modo que cada url resulte ser distinta y por ende fuerza al navegador enviar la peticion al servidor mientras esa url no exista en la cache. la variable la puedes generar con Math.random y luego la concatenas a la url.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 15/10/2010, 09:50
 
Fecha de Ingreso: junio-2007
Mensajes: 298
Antigüedad: 17 años, 6 meses
Puntos: 5
Respuesta: Rand en IE

Perfecto. Muy buena idea. Con esa solución ya me funciona perfectamente.

Muchas gracias

Etiquetas: rand
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 07:52.