1

有一个Flash小部件(音乐播放器),并且在一个页面上有大约10个实例。我需要在flash和它嵌入的页面的javascript之间进行通信。我很久没有用actionscript做过很多事情了,但是一些搜索引擎使我导致了here以及ExternalInterface。看起来很完美,但是有一个问题。我做了这样的事情:actionscript ExternalInterface命名空间冲突

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

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

回答

3

我不完全记得 - 但我似乎认为回调不添加到窗口对象,但页面上的SWF对象 - 这样的财产以后像

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

会开除只有该实例的回调。

这种格式可能会在浏览器之间发生变化 - 在任何情况下,回调都会添加到Flash文件加载的每个JavaScript实例中。