actionscript ExternalInterface命名空间冲突

时间:2009-01-31 02:16:34

标签: javascript actionscript-2 namespaces externalinterface collision

A有一个Flash小部件(音乐播放器),并且在一个页面上有大约10个实例。我需要在flash和它嵌入的页面的javascript之间进行通信。我在很长一段时间里没有做过很多动作,但有些谷歌搜索引导我here和ExternalInterface。它似乎很完美,但有一个问题。我做了这样的事情:

ExternalInterface.addCallback("stopTrack", this, stopTrack);

但是,现在stopTrack将在页面上注册10个不同的东西。我希望能够只停止10首曲目中的一条。

1 个答案:

答案 0 :(得分:3)

我不完全记得 - 但我似乎认为回调没有添加到窗口对象,而是页面上的swf对象 - 所以像

document.getElementById('musicFlashPlayer10').stopTrack();

只会在该实例上触发回调。

此格式可能会在浏览器之间发生变化 - 无论如何,回调都会添加到加载Flash文件的每个javascript实例中。