Не напрямую, но это легко сделать, если у вас есть контроль над SWF через ExternalInterface
. Сначала в flashvars для SWF передают имя обратного вызова:
loadedCallback=swfLoadedCallback
Кроме того, убедитесь, что в SWF scriptAccess
установлено значение sameDomain
или all
Далее, определите функцию обратного вызова на вашей странице:
function swfLoadedCallback()
{
// Note... if these were a real application, you would want
// to use a setTimeout here to avoid Flash choking while
// waiting for a response.
alert('SWF loaded. Do something.');
}
Затем в свой SWF добавьте код, подобный следующему:
import flash.external.ExternalInterface;
import flash.utils.setTimeout;
var params:Object = root.loaderInfo.parameters;
if (params && params.loadedCallback)
{
// Set timeout to avoid syncronous issues
setTimeout(function():void {
if (ExternalInterface.available)
ExternalInterface.call(params.loadedCallback);
}, 1);
}