javascript - 从 Flash 定位特定的 JavaScript 对象实例

标签 javascript actionscript-3

您好,第一次海报。
假设我的页面上有一个 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/

相关文章:

apache-flex - 引用一个组件 id 抛出一个变量

actionscript-3 - 舞台上的对象不会在构造函数之外初始化

actionscript-3 - 在我的 ActionScript3 类中,我可以拥有一个带有 getter 和 setter 的属性吗?

javascript - 如何按正整数或负整数对数组进行排序

javascript - 是否可以从外部 url 访问内部 jQuery # 链接(直接访问单个网站部分)?

php - 接受来自backbone.js的JSON 在PHP中同步

javascript - 在 Vue.Js 中的 v-text 中附加多个字段

c# - 跟踪广告展示次数(浏览次数)并防止欺诈

actionscript-3 - AS3 mouseChildren = false 将事件监听器添加到子级

flash - Flash AS3:ReferenceError:错误#1056:无法创建属性