responder a mi propia pregunta: https://sourceforge.net/forum/message.php?msg_id=5929756
- definir una función Javascript que debe ser invocado si flash cargado.
- Invoca este método desde la parte superior de tu archivo Flash.
- Use un temporizador para detectar si la devolución de llamada nunca se invoca.
- Prefiere invocar funciones de Javascript desde Flash en lugar de invocar funciones de Flash desde Javascript. De cualquier forma, no puede invocar una función que aún no se haya cargado. Es mucho más fácil garantizar que el navegador haya terminado de cargar su función de Javascript antes de invocarlo desde Flash, que garantizar que Flash haya terminado de cargar su función de Flash antes de invocarlo desde Javascript.
Aquí se muestra un ejemplo:
- estoy usando swfobject para incrustar flash.
- Uso FlashVars para decirle a Flash qué función de Javascript invocar. Esto es útil si hay múltiples objetos Flash en la página.
flash
var params:Object = LoaderInfo(this.root.loaderInfo).parameters;
if (ExternalInterface.available)
{
var onLoaded:String = params["onLoaded"];
if (onLoaded != null)
ExternalInterface.call(onLoaded, true);
}
Javascript
var flashLoaded = false;
var flashTimer;
function onFlashLoaded()
{
flashLoaded = true;
clearTimeout(flashTimer);
}
function onFlashTimeout()
{
if (!isFlashLoaded)
{
// Remove the Flash object in case it is partially loaded
$("#videoFeed").empty();
$("#videoFeed").append('<div id="flashObject"></div>');
alert("Failed to load video player");
}
clearTimeout(flashTimer);
}
function connectToVideo()
{
var flashvars = {};
flashvars.onLoaded = "onFlashLoaded";
var params = {};
params.menu = false;
var attributes = {};
isFlashLoaded = false;
flashTimer = setTimeout("onFlashTimeout()", 5000);
swfobject.embedSWF("flash/VideoFeed.swf", "flashObject", "800", "600", "11", "expressInstall.swf", flashvars, params, attributes);
}
brilliant! Esto ayudaría mucho hoy: D –