Есть ли обходной путь для отсутствующего ExternalInterface.objectID в ActionScript 2 - PullRequest
2 голосов
/ 03 февраля 2009

Я перевожу некоторые ActionScript 3 в ActionScript 2 (некоторые рекламные агентства, к сожалению, все еще отказываются принять будущее), и я столкнулся с проблемой, заключающейся в том, что в ActionScript 2 ExternalInterface не имеет свойства objectID, как это происходит в ActionScript 3.

Код, над которым я работаю, вызывает много JavaScript, и часть этого кода требует, чтобы скрипт знал идентификатор объекта Flash / embed (например, чтобы найти позицию на странице и изменить размер объекта). /embed).

Есть ли простой обходной путь для получения идентификатора объекта / встраивания в ActionScript 2?

Мне удалось написать некоторый код JavaScript, который в основном ищет все объекты и встраивает узлы на странице, пока не найдет один с помощью специального метода (установленного с помощью ExternalInterface.addCallback) и таким образом не смог получить идентификатор в среде ActionScript, но это похоже на хакерский и небезопасный метод, на который можно положиться. Неужели есть более простой способ?

Редактировать: я не могу контролировать код, который встраивает SWF, поэтому передача идентификатора не работает.

Ответы [ 3 ]

2 голосов
/ 23 апреля 2009

Это то, что вы ищете? Простой класс actionscript 2, который находит, что ему принадлежит идентификатор объекта flash html.

http://sourceblogg.se/lang/en/mina-projekt/isitme-get-flash-html-object-id-within-flash/

0 голосов
/ 09 февраля 2009

Попробуйте набор для интеграции с Flash Javascript http://weblogs.macromedia.com/flashjavascript/. Насколько мне известно, класс ExternalInterface в AS3 был формализацией этого решения AS2.

0 голосов
/ 07 февраля 2009

Как насчет передачи идентификатора в SWF через FlashVars? Вы должны знать идентификатор, когда встраиваете его, поэтому его должно быть достаточно просто добавить как одну из переменных FlashVars, передаваемых во Flash. Затем сохраните это где-нибудь, куда может попасть ваш код, который вызывает ExternalInterface.

...