SWF Loader & Flex SWFLoader: дочерняя политика песочницы SWF - PullRequest
1 голос
/ 07 января 2010

REF: http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/Loader.html

Что касается родительского SWF, загружающего дочерний SWF через класс Loader, можно ли запретить загруженному дочернему SWF:

  • Выполнение любых сетевых вызовов или
  • Звонки на определенные домены

По сути, я ищу программную версию allowNetworking: http://livedocs.adobe.com/flash/9.0/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001079.html

Aditionally

  1. Существуют ли какие-либо несоответствия версий Flash Player и ActionScript?
  2. Есть ли какие-либо расхождения, если вместо этого используется SWFLoader Flex?

Большое спасибо,

Geoff

1 Ответ

1 голос
/ 11 октября 2011

Простой ответ: «Нет, ты не можешь». Это потому, что вы не можете скрыть или заменить встроенные функции проигрывателя. Теоретически, вы могли бы предотвратить многие такие вызовы, изучив блоки DoABC SWF и найдя вызовы URLLoader или navigateToURL и т. П. Конечно, невозможно найти каждого из них, так как они могут быть вызваны через отражение. Кроме того, для этого вам нужно написать декомпилятор.

  1. ActionScript имеет очень короткую историю версий, он был только 1.0, 2.0 и 3.0. Flash Player не выполняет ActionScript. Он выполняет байт-код (ABC - A ctionScript b yte c ode). Помимо текущего обслуживания, было мало изменений в формате ABC. Наиболее важные из них отражены в спецификациях формата ABC. Так, например, в Flash Player 10 была добавлена ​​группа кодов операций, называемая «кодами алхимии», однако они не доступны программистам, пишущим на AS3. Я использую это http://www.anotherbigidea.com/javaswf/avm2/AVM2Instructions.html для быстрого ознакомления, но оно немного устарело.

  2. SWFLoader - это класс, который вы хотите использовать при работе со средой Flex. По сути, это класс Loader, расширенный для решения проблем, которые фреймворк представил поверх встроенных модулей.

...