您好,第一次海报。
假设我的页面上有一个 flash(swf) 对象,并且我有一个与该 flash 对象一起使用的特定 JavaScript 类(我们称之为“JSClass”)。
JavaScript 类有一些与 flash 对象通信的方法。
当 flash 对象通过 swfObject 嵌入到页面中时,我创建了一个 JSClass 实例,并将页面上的 flash 对象的 id 赋予它,以便该实例可以专门与该 flash 对象通信。
我在页面上有多个相同的flash文件,我需要区分对特定flash对象的调用。
像这样:
var flashControl1 = new JSClass('flash_id_1'); var flashControl2 = new JSClass('flash_id_2'); // so later I can start the first flash object flashControl1.startAnimation(); // and stop animation on the second flash object flashControl2.stopAnimation();
一切正常。 我遇到的问题是,flash 对象需要先在内部做一些事情,然后才能通过 JavaScript 进行操作(它们需要加载一些东西等...)
Flash 对象需要通知引用它们的 JSClass 实例,它们已准备好被操作。 像这样。
flashControl1.onFlashReady = function() { // do some stuff here when the flash is ready. }
如何从 Flash 调用“flashControl1.onFlashReady()”? 请注意,Flash 不知道要定位哪个 JSClass 实例。 如何从 Flash 对象中定位特定的 JSClass 实例。
最佳答案
我建议您通过 flashvars 将 flash_id
传递给您的 flash 电影,当 flash 电影的初始化完成后,您可以使用 ExternalInterface.call("someJsMethod", flashId);
通知您的 javascript。在您的 javascript 方法 someJsMethod(flashId)
中,您可以检查 id 并将其映射到您的 JSClass。
关于javascript - 从 Flash 定位特定的 JavaScript 对象实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4822509/