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實例中。