Получите определения ExternalInterface в JavaScript

Существует ли способ получить список представленных функций от объекта Flash? Например, Вы могли получить список всех методов в объекте путем выполнения:

for (var i in object) {
  if (typeof object[i] == "function") {
    console.log(i);
  }
}

Единственная проблема - то, что это не представит методов, зарегистрированных через ExternalInterfaces API. Я могу попытаться видеть, существует ли функция (object['method']) и это говорит мне, что это - функция, но я должен был бы предположить каждый существующий метод этим способом.

Примечание: Очевидно, у меня нет доступа к actionscript.

9
задан Jamal Fanaian 12 January 2010 в 11:03
поделиться

4 ответа

Мой инстинкт - нет, ExternalInterface - это, по сути, черный ящик или черный почтовый ящик, вы протыкаете что-то и иногда что-то возвращается, но вы не можете открыть дверь, чтобы посмотреть, что внутри.

Без документации относительно того, что было показано в SWF, единственное другое предложение - декомпилировать swf, чтобы посмотреть на исходный код.

-1
ответ дан 3 November 2019 в 08:20
поделиться

Проблема еще хуже: информация недоступна в ActionScript. Вы регистрируете новую функцию как ExternalInterface.addCallback ('foo', foo) и не можете перечислить уже зарегистрированные обратные вызовы.

1
ответ дан 3 November 2019 в 08:20
поделиться

Просто предположение, но посмотрим, работает ли это. Все функции ExternalInterface должны быть определены в глобальном пространстве имен. Попробуйте встроить SWF в страницу HTML и получить все функции Javascript, определенные для страницы, после ее загрузки. Список глобальных пользовательских функций в JavaScript?

Список функций должен соответствовать тем, которые определены в SWF-файле.

1
ответ дан 3 November 2019 в 08:20
поделиться

Думаю, единственный выход - проанализировать байт-код SWF-файла и попытаться собрать вызовы метода ExternalInterface.addCallback .

http://www.google.com/search?q=parse+avm2

0
ответ дан 3 November 2019 в 08:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: