actionscript ExternalInterface столкновения в пространстве имен - PullRequest
1 голос
/ 31 января 2009

A имеет флэш-виджет (музыкальный проигрыватель), и на одной странице его около 10 экземпляров. Мне нужно связаться между flash и javascript страницы, в которую он встроен. Я давно не делал много с actionScript, но некоторые поиски привели меня здесь к ExternalInterface. Казалось, идеально, но есть одна проблема. Я сделал что-то вроде этого:

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

Тем не менее, теперь stopTrack будет регистрироваться для 10 разных вещей на странице. Я хочу иметь возможность остановить только один из 10 треков.

1 Ответ

3 голосов
/ 31 января 2009

Я не помню полностью, но мне кажется, что обратный вызов добавляется не к объекту окна, а к объекту swf на странице - что-то вроде

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

вызовет обратный вызов только для этого экземпляра.

Этот формат может меняться в разных браузерах - в любом случае обратный вызов добавляется к каждому экземпляру javascript, для которого загружен флэш-файл.

...