Hola Gente,
Tengo una aplicación en la que tengo que cambiar imágenes dinámicamente.
en un archivo variables.xml tengo los datos que se van actualizando
<RabbitWeb>
<LectTemp>20.1</LectTemp>
<LectHum>60.9></LectHum>
<imgEstEquipo1> EquipoON.gif</imgEstEquipo1>
</RabbitWeb>
Mediante unos scripts se modifican los valores de las variables, pero supongamos que en un momento aparecen los valores que escribí. ( LectTemp=20.1, LectHum=60.9 y imgEstAA1=EquipoON.gif) y que se mantienen igual por 10 minutos.
Por medio de js cargo los valores de las variables para luego mostrarlas en la página principal recargándolos cada 1 segundo.
<script type="text/javascript">
var xmlDoc;
function Read_XML_File()
{
try //Test for Internet Explorer
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
}catch(err) //If ActiveX isn't going to work we use a more codified standard
{
try //Every browser but Internet Explorer
{
xmlDoc=document.implementation.createDocument(""," ",null);
}
catch(err) //If that doesn't work, we produce an error mocking our user.
{
alert("No XML for you!");
return;
}
}
xmlDoc.async=false;
xmlDoc.load("variables.xml"); //Carga el XML
wLectTemp = xmlDoc.getElementsByTagName("LectTemp")[0].childNodes[0].nodeValue;
wLectHum = xmlDoc.getElementsByTagName("LectHum")[0].childNodes[0].nodeValue;
wimgEstAA1 = xmlDoc.getElementsByTagName("imgEstEquipo1")[0].childNodes[0].nodeValue;
document.getElementById("idLectTemp").innerHTML=wL ectTemp;
document.getElementById("idLectHum").innerHTML=wLe ctHum;
document.getElementById("idEstAA1").src=wimgEstAA1 ;
setTimeout("Read_XML_File()",1000); // se reactualizan los datos
}
</script>
luego, en la página principal pongo entre otros lo siguiente:
<html>
<Body>
<img src="xx.gif" id="idEstAA1" width="110" height="50"/>
</Body>
</html>
Aquí el problema:
Si bien la imágen no cambia por 10 minutos, en cada actualización (cada 1 segundo) se vuelve a cargar la imágen. Probé haciendo una precarga en javascript pero tampoco funcionó.
Esto sólo sucede en IE, en Mozilla no se recarga la imágen hasta que no se modifica (después de 10 minutos).
Podrían darme una idea de cómo solucionarlo? . muchas gracias