Foros del Web » Programando para Internet » Javascript »

Window Mobile Vs JavaScript

Estas en el tema de Window Mobile Vs JavaScript en el foro de Javascript en Foros del Web. Buenas, Estoy con un terminal HTC Cruise con sistema operativo WM6 y me sucede lo siguiente. El codigo con el que refresco las imagenes en ...
  #1 (permalink)  
Antiguo 15/10/2008, 09:52
 
Fecha de Ingreso: agosto-2008
Mensajes: 14
Antigüedad: 15 años, 8 meses
Puntos: 0
Exclamación Window Mobile Vs JavaScript

Buenas,

Estoy con un terminal HTC Cruise con sistema operativo WM6 y me sucede lo siguiente. El codigo con el que refresco las imagenes en la pantalla del terminal solo ejecuta la funcion requerida 1 vez a diferencia de los terminales Nokia por ejemplo que siguen y siguen y siguen...

Este es el codigo:
Código:
<script type="text/javascript" language="JavaScript">

	timeout=4; //segundos
	time=2; //segundos
	var unique = new Date();
	buffer = new Image();
	setInterval("imageReload()", time * 1000);
	//setTimeout("Return()", timeout * 1000);	
	buffer.onerror = imageInit;	

	function imageReload(){
		buffer.onload = imageChange;		
		buffer.src = "<?=$imgsrc2?>?d=" + unique.getTime();
	}

	function imageChange(){
		document.webcam.src = buffer.src;
	}

	function imageInit(){
		setTimeout("imageReload()", time * 1000);
	}
	
	function Return(){
		window.location="http://www.google.es";
	}
		
</script>
El HTC solo ejecuta el
Código:
buffer.src = "<?=$imgsrc2?>?d=" + unique.getTime();
de la funcion ImageReload una vez y se para con lo que en la pantalla veo solo que la imagen se refresca una vez.

He probado con otros codigos:
Código:
<script type="text/javascript" language="JavaScript">

	newImage = new Image();
	

	function LoadNewImage() {
		var unique = new Date();
		document.getElementById('webcam').src = newImage.src;
		newImage.src = "<?=$imgsrc2?>?time=" + unique.getTime();
	}

	function InitialImage() {
		var unique = new Date();		
		newImage.onload = LoadNewImage;
		newImage.src = "<?=$imgsrc2?>?time=" + unique.getTime();
		document.getElementById('webcam').onload= "";
	}
</script>
y el resultado es el mismo.

Ayuda por favor!!

Última edición por gamemax; 15/10/2008 a las 09:55 Razón: Se me olvido que me notificara
  #2 (permalink)  
Antiguo 15/10/2008, 10:03
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: Window Mobile Vs JavaScript

Probaste con Math.random() en lugar de los métodos de Date?
  #3 (permalink)  
Antiguo 15/10/2008, 10:24
 
Fecha de Ingreso: agosto-2008
Mensajes: 14
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Window Mobile Vs JavaScript

Cita:
Iniciado por Panino5001 Ver Mensaje
Probaste con Math.random() en lugar de los métodos de Date?
Lo acabo de probar por si fuera un tema de que la imagen se quedase enganchada en la cache por si no reconogiera al gettime() pero nada, sigue igual.

Un poquito de ayuda que no se que hacer y me urge.

gracias
  #4 (permalink)  
Antiguo 16/10/2008, 06:30
 
Fecha de Ingreso: agosto-2008
Mensajes: 14
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Window Mobile Vs JavaScript

Buenas,

Acabo de observar que la secuencia se reproduce pero solo una vez y luego se para. Sera que buffer.onload no funciona??
  #5 (permalink)  
Antiguo 16/10/2008, 07:30
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: Window Mobile Vs JavaScript

Consulta: Esto no funciona?
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<
title>test</title>
<
script type="text/javascript">
onload=function(){
    
setInterval(
        function(){
            
document.im.src=document.im.src.split('?')[0]+'?'+Math.random();
            
document.getElementById('log').innerHTML=document.im.src;
        },
2000
    
);
}
</script>
</head>

<body>
<img name="im" id="im" src="newsletter/images/ajax-loader2.gif" width="66" height="66" />
<div id="log"></div>
</body>
</html> 
  #6 (permalink)  
Antiguo 16/10/2008, 07:54
 
Fecha de Ingreso: agosto-2008
Mensajes: 14
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Window Mobile Vs JavaScript

Buenas Panino,

Ya he hecho lo que me has pedido.

Si entro en la pagina desde un navegador web de un ordenador, si que me funciona.

Si entro con Window Mobile desde la PDA no. Lo más raro es que con la versión WM5 si que funcionaba el refresco de imagenes y con esta que es WM6 no funciona.

Si uso Opera Mobile si funciona.

El problema es que necesito usar el navegador de WM ya que sino le tengo que estar diciendo a los clientes que se compren el Opera Mobile y eso es una cagada.

Sabes por que ocurre esto?

Mil gracias
  #7 (permalink)  
Antiguo 16/10/2008, 08:03
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: Window Mobile Vs JavaScript

No, aunque evidentemente es un problema del soporte de ese navegador.
  #8 (permalink)  
Antiguo 16/10/2008, 08:18
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: Window Mobile Vs JavaScript

Otra cosa que podrías probar:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<
title>test</title>
</
head>

<
body>
<
img name="im" id="im" src="newsletter/images/ajax-loader2.gif" width="66" height="66" onerror="this.src='newsletter/images/ajax-loader2.gif?'+Math.random()" onload="_this=this;setTimeout(function(){_this.src=null;},2000)" />
<
div id="log"></div>
</
body>
</
html
  #9 (permalink)  
Antiguo 16/10/2008, 09:22
 
Fecha de Ingreso: agosto-2008
Mensajes: 14
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Window Mobile Vs JavaScript

Vale,


Ya hemos conseguido algo.

la etiqueta onload de img no funciona correctamente, es decir, solo funciona la primera vez que se lee la imagen. Si luego cambias el source de la misma no funciona la etiqueta onload.

En su momento lo que haciamos era que esperabamos que onload se encargara de volver a ejecutar la funcion y el resultado era nulo.

La respuesta?

Usar dos funciones que se llamen la una a la otra. Tipo:

Código:
function 1(){
    document.im.src=document.im.src.split('?')[0]+'?'+Math.random(); 
    document.getElementById('log').innerHTML=document.im.src; 
    setTimeout("2()", 1000);
}
function 2(){
    setTimeout("1()", 2000);
}
Esto funciona!!!!!!

Pero ahora... el problema es que la imagen, para ser cargada, el tiempo de descarga permanece en blanco por lo que tengo que descargarla antes de mostrarla. ¿Que se te ocurre? ¿Puedo usar document.webcam.onload? ¿Como podria usarlo?

Y que ocurre si mientras que estoy descargandola aparece la peticion de mostrarla en pantalla?

Gracias
  #10 (permalink)  
Antiguo 16/10/2008, 09:52
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: Window Mobile Vs JavaScript

Como sólo puedo decirte que pruebes, ya que no tengo manera de probarlo yo mismo, podrías intentar verificar la carga de la imagen con onreadystatechange:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<
title>test</title>
<
script>
function 
fnStartInit()
{
   if (
document.getElementById('idImagen').readyState=="complete")
   {
     
alert('listo');
   }
}
function 
fnStartInit2()
{
    if(
window.ActiveXObject)return;
     
alert('listo');
}
    
</script>
</head>

<body>
<img id="idImagen" src="newsletter/images/add.gif" width="36" height="36" onload="fnStartInit2()"  onreadystatechange="fnStartInit()" />
</body>
</html> 
  #11 (permalink)  
Antiguo 16/10/2008, 10:10
 
Fecha de Ingreso: agosto-2008
Mensajes: 14
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Window Mobile Vs JavaScript

Buenas

Haciendo uso de tu paciencia: ¿De que forma puedo evitar que entre carga y carga de imagenes se me quede la pantalla en blanco? Me gustaría que se quedase la ultima pantalla encima pero creo que la funcion .onload del objeto webcam no funciona.

¿Se podria superponer una imagen encima de otra tipo capa1 y capa2?
Mientras la capa 1 se carga, la capa 2 permanece con la ultima imagen y una vez es cargada, se pasa tambien a la capa 2 y se repite el proceso

Quizas digo tonterias pero es que con el IE de WM no funciona nada.

Gracias
  #12 (permalink)  
Antiguo 16/10/2008, 11:53
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: Window Mobile Vs JavaScript

Quizá podrías alternar imágenes con backgrounds, o usar 2 contenedores de imagen diferentes, o jugar con los intervalos de carga. Tendría que introducirse bien en el problema y hacer pruebas para responderte bien y ahora, aunque me gustaría, no puedo.
  #13 (permalink)  
Antiguo 16/10/2008, 12:20
 
Fecha de Ingreso: agosto-2008
Mensajes: 14
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Window Mobile Vs JavaScript

Gracias por tu tiempo Panino
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 08:10.