これは @Amitd が参照していた投稿です... 役立つでしょうか?
「Flash がロードされた場合に呼び出される Javascript 関数を定義します。Flash ファイルの先頭からこのメソッドを呼び出します。タイマーを使用して、コールバックが呼び出されないかどうかを検出します。Flash 関数を Javascript から呼び出すよりも、Flash から Javascript 関数を呼び出すことをお勧めします。いずれにしても、まだロードされていない関数を呼び出すことはできません. Flash から呼び出す前に Flash が Flash 関数のロードを完了したことを保証するよりも、Flash から呼び出す前にブラウザが Javascript 関数のロードを完了したことを保証する方がはるかに簡単です.次に例を示します。
Flash を埋め込むために swfobject を使用しています。FlashVars を使用して、どの Javascript 関数を呼び出すかを Flash に指示します。これは、ページに複数の 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);
}