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

发布于 2024-11-01 01:15:41 字数 663 浏览 1 评论 0原文

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

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

预先感谢您的帮助和贡献:)

I am using the swfObject library to dynamically embed a MP3 player i've made in Flash CS5. In the .fla file, i've declared a list of methods that can be called via Javascript (using the flash.external.ExternalInterface flash class).

That's not the problem since all these function work properly when called from Google Chrome's console.
However, swfObject provides a way to invoke javascript API only if the .swf has been statically included (i.e. using swfobject.registerObject() ) but i can't find a way to achieve the same goal when the .swf is dynamically included (i.e. using swfobject.embedSWF() ).

Thanks in advance for your help and contibutions :)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

爱本泡沫多脆弱 2024-11-08 01:15:41

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

swfobject.embedSWF(swfUrl、id、宽度、高度、版本、expressInstallSwfurl、flashvars、params、属性、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 //
    }
);

When you are using swfobject.embedSWF, you can specify the ID of the swf object in the attributes parameters :

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

Example :

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 //
    }
);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文