Как вывести список доступных обратных вызовов, предоставляемых флэш-элементом - PullRequest
4 голосов
/ 26 июня 2009

Есть ли способ запроса встроенного флеш-элемента, чтобы определить доступные методы, которые могут быть выполнены на нем через JavaScript?

Edit: Похоже, что в IE это так просто, как

for ( i in flashNode ) {
    alert(i);
}

После долгих нажатий они станут одними из самых последних перечисленных членов.

Все еще не может определить это в Firefox.

Ответы [ 2 ]

3 голосов
/ 26 июля 2009

Хотя можно получить обратные вызовы, перечислив узел DOM <object> в IE, они смешаны со всеми другими свойствами узла DOM, и их невозможно различить программно без сохранения списка известных свойств сравнить их, а затем взять разницу двух комплектов.

Этот подход сомнителен, поскольку свойства могут быть произвольно добавлены к любому узлу DOM. Хуже того, он работает только в IE. Firefox (и, возможно, другие) не возвращает обратные вызовы как свойство узла <object> DOM.

1 голос
/ 28 июня 2009

Я полагаю, что это работает одинаково в FF и других браузерах, но вам может потребоваться получить ссылку на ваш элемент swf иначе, чем в IE.

IE будет использовать тег объекта, как правило, с идентификатором, а ff / safari / etc будет использовать тег embed, и, поскольку вы не должны использовать один и тот же идентификатор для двух элементов, люди обычно используют вместо этого атрибут name атрибута id в теге embed.

Если вы используете что-то вроде SWFObject для встраивания ваших SWF-файлов, то вы должны получить только одно или другое (объект или встраивание), и в зависимости от того, что будет написано, атрибут id будет установлен с тем, что вы укажете, так что тогда вы можете выполнить итерацию над объектом.

...