如何使用swfObject动态嵌入我的SWF上调用自己的javascript API?

时间:2011-04-11 13:55:46

标签: javascript flash dynamic swfobject externalinterface

我正在使用swfObject library动态嵌入我在Flash CS5中制作的MP3播放器。在.fla文件中,我已经声明了可以通过Javascript调用的方法列表(使用flash.external.ExternalInterface flash类)。

这不是问题,因为从谷歌Chrome控制台调用时所有这些功能都能正常工作。 但是,只有.swf包含静态(即使用swfobject.registerObject())时,swfObject才提供调用javascript API的方法,但我找不到实现相同方法的方法.swf包含动态时的目标(即使用swfobject.embedSWF())。

提前感谢您的帮助和建议:)

1 个答案:

答案 0 :(得分:1)

当您使用swfobject.embedSWF时,您可以在attributes参数中指定swf对象的ID:

  

swfobject.embedSWF(swfUrl,id,width,height,version,expressInstallSwfurl,flashvars,params, attributes ,callbackFn)

示例:

swfobject.embedSWF(
    "YourFlash.swf", "WhereToPlaceThis", "0px", "0px", "10.0.0",
    "expressInstall.swf", {}, {}, { id : "IdOfTheSWF" },
    function () {
         var SWF = document.getElementById("IdOfTheSWF"); // That's your SWF //
         SWF.yourFlashFunction(); // And you can invoke function //
    }
);