2 getURL seguidos en IE
4 seguidores
Ayer nos estaba pasando algo curioso, en IE por supuesto. Nuestro caso es algo mas complicado que esto, pero, reducido al absurdo, es que haciendo lo siguiente:
<code>getURL("javascript:alert('uno');");
getURL("javascript:alert('dos');");</code>
El IE solo pilla la segunda llamada. Firefox por supuesto pilla las 2. Bajaos este zip y lo comprobais (IE 6 o 7). Haciendo pruebas, parece que el intervalo que necesita IE anda por los 200 milisegundos.
El caso, esto lo sabia todo el mundo menos yo? Es logico? Alguna forma de timar el IE para que lo pille.
Lo pregunto antes de picar una cola de envio de llamadas JS ¬¬
Gracias!
Usuario desconocido
;)
<off-topic>
a ver si coincidimos en este LFPUG ;)
</off-topic>
juandelgado
msanchez
<code>
getURL("javascript:unoYdos();");
</code>
Eso implicaria re-escribir mucho del lado JS que, a no ser que fuera brutalmente necesario, no se va a hacer.
msanchez
La solución lista es que uses Flash/JavaScript Integration Kit y sincronices las llamadas
Conozco el kit. Pero, por la misma razon que lo de arriba, implicaria anyadir demasiado al lado de JS, cosa que no esta en mi mano.
mrdoob
o getURL("javascript:uno();dos();");
Esto funciona : ), alucinante.
mrdoob
Aunque supongo que si lo tiene separados en 2 llamadas diferentes sera por algo.
Efectivamente. Basicamente nuestras aplicaciones no hacen nunca este tipo de llamadas. Lo que hacen es lanzar eventos (un tipo propio de eventos) que una clase proxy convierte en llamadas LocalConnection, getURLs o ambas, todo dependiendo de la configuracion del xml.
mrdoob
has hecho pruebas para saber como de seguidas?
Pasa si las llamadas van una detras de otra en el codigo. El tiempo minimo de espera parece que ronda los 200 milisegundos. Aunque no es un estudio exhaustivo, por supuesto.
Sea como sea, gracias por las ideas.
Salud!
elsuricatorojo
Otro efecto secundario en IE de getURL("javascript:miFuncion();"); es que cuando la lanzas se oye un segundo "click" en la página y deja de cargar los jpgs, gifs, swfs etc que se estuviesen cargando.
No se si es solo en players 8 y/o 9 o si pasaba tambien antes.
Sea lo que sea con ExetrnalInterface no ocurre.
Usuario desconocido
o getURL("javascript:uno();dos();");
Aunque supongo que si lo tiene separados en 2 llamadas diferentes sera por algo. De todos modos, Zarate, eso te pasa cuando las llamadas van muy seguidas? has hecho pruebas para saber como de seguidas?
Usuario desconocido
A mi se me ocurre una solución tonta:
<code>
getURL("javascript:unoYdos();");
</code>
Y en el javascript haces las llamadas que quieras.
La solución lista es que uses Flash/JavaScript Integration Kit y sincronices las llamadas.
juandelgado
Premio para el caballero!
La putada es que ExternalInterface es player 8 y yo tengo que ser compatible para player 7 que es las version del player para PDAs ¬¬
Asi que ya saben ninyos, utilicen siempre que puedan ExternalInterface!
Gracias Oscar : )
oskitar
¿has probado?
...
ExternalInterface.call ("alert","uno");
ExternalInterface.call ("alert","dos");
¿a ver que pasa?