Hola, estoy desarrollando un sitio, (http://www.gen-studio.com/avelart2/ ), y estoy usando un swf para desplegar una seria de miniaturas que cuando se les oprime muestran un elemento y su descripción dentro del navegador, esos elementos pueden ser imágenes o video, y funciona bien con las imágenes.

De hecho funciona también bien con los videos… en Firefox, pero cuando lo pruebo en Internet Explorer ¡no funciona!

En principio describo como se supone que funciona: una miniatura cuando oprimida envía un número identificador a javaScript usando ExternalInterface.call(“miFuncion”,miId); -Estoy usando AS3 en los swf-


para este momento el archivo javaScript ya descargó (desde $(document).ready) un archivo XML el cual usa para tomar una ruta y descripción en base al identificador, si el elemento es video entonces crea una variable que contiene una cadena con la información necesaria para embeder un reproductor de video swf en el HTML (dicho swf se encuentra en la misma carpeta que los archivos HTML), cuando se carga, el reproductor de video swf usa ExternalInterface.call() para preguntar por la ruta del video que debe de cargar, y la función es como sigue:

setVideo: function(){
alert("hola");
return comun.miVideo;
}

(El alert(“hola”); es solo para probar que la función está siendo llamada), que lo es, pero regresa null como resultado en vez de la cadena, y esto pasa en Internet Explorer, y funciona correctamente en Firefox.

He estado leyendo sobre el tema y he encontrado algunas cosas interesantes, que aunque han reducido las posibilidades de mi problema, no me han dado una solución, lo que he encontrado hasta ahora:

-Debo de tomar en cuenta la seguridad de Flash: Hecho (a continuación mi código en AS)

import fl.video.*;
import flash.external.ExternalInterface;
flash.system.Security.allowDomain("*");
var vid:FLVPlayback = this.miPlayer;
vid.source = flash.external.ExternalInterface.call("comun.setVideo");

-ExternalInterface e Internet Explorer no funcionan apropiadamente cuando se prueban localmente: Hecho (tengo WAMP en mi PC y también estoy haciendo pruebas en la dirección que puse arriba):

-La etiqueta object que contiene el swf debe de tener el atributo ID: Hecho.

-Es muy importante la manera que la etiqueta object es formada: Hecho, y es que también probé la etiqueta por separado, en vez de incluirla dinámicamente por medio de javaScript, la pegué en el HTML y funcionó correctamente en Firefox e Internet Explorer, lo que me lleva a pensar:

-Leí en algún momento que sit u agregas la etiqueta object usando innerHTML o appendChild, regresar valores de javaScript no funcionará, pero no pude encontrar una explicación ni una solución.

Bueno, como dije llevo un rato buscando una respuesta, y espero que me puedan ayudar o señalar donde encontrarla, ¡gracias!