Kendi sorumu yanıtlayan: https://sourceforge.net/forum/message.php?msg_id=5929756
- Flash yüklendiğinde eğer çağrılması gereken bir JavaScript işlevi tanımlayın.
- Bu yöntemi Flash dosyanızın en üstünde çağırın.
- Geri aramanın hiçbir zaman çağrılmadığını tespit etmek için bir zamanlayıcı kullanın.
- Flash işlevlerini Javascript'ten çağırmak yerine, Flash'tan Javascript işlevlerini çağırmayı tercih edin. Her iki durumda da henüz yüklenmemiş bir işlevi çağırmayasınız. Tarayıcının Flash uygulamasından önce Flash'ın Flash işlevini yüklemesini tamamladığından emin olmak için Javascript işlevini yüklemeyi tamamladığını garanti etmek çok daha kolaydır.
- Ben Flaş gömmek için swfobject kullanıyorum: Burada
bir örnektir.
Flash'ın hangi Javascript işlevinin çağrılacağını söylemek için FlashVars kullanıyorum. Bu, sayfada birden çok Flash nesnesi varsa yararlıdır.
Flaş
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);
}
parlak! Bu bugün çok yardımcı olur: D –