Flash внутри Flex внутри ExtendScript

Я работал над проектом пользовательского интерфейса Photoshop, а также работал с Flash Builder около 3 недель, и я не могу найти решение проблемы со связью. Вот некоторые подробности о проблеме; Если вы хотите помочь мне, спасибо.

  • Основной фрейм пользовательского интерфейса - это Extendscript.

  • У меня есть as3 swf, который должен динамически загружать локальный файл JPG, я предполагаю, что это ситуация «Доступ только к локальным файлам» для Flash.

  • Тот же SWF должен взаимодействовать с Extendscript, поэтому я загружаю его в приложение FLEX динамически через SWFLoader, и он передает некоторые переменные и запускает некоторые функции в FLEX через объект «myFlexParent».

  • Flex является мостом между Flash и Extendscript, поэтому он передает переменные и функции в код Extendscript JSX через Externalinterface.call или CSXSInterface.instance.evalScript ().

Вот где я ЗАКРЕПЛЕН. Я предполагаю, что вызовы ExternalInterface или CSXSInterface.instance.evalScript () обрабатываются как сетевая операция, и они не работают, если я установил параметр компиляции «-use-network = false» в flex. Но в противном случае локальный файл JPG не может быть загружен.

Добавление местоположений в диспетчер настроек не сработает для меня, потому что я собираюсь превратить пользовательский интерфейс в расширение, и его будет легко установить.

Думаю, я пытаюсь найти способ установить двустороннюю связь между FLEX и ExtendScript, которая будет интерпретироваться flash player как ЛОКАЛЬНАЯ связь, что на самом деле и есть.

Буду признателен за любую информацию. Спасибо.


person eren    schedule 06.06.2012    source источник


Ответы (1)


ExternalInterface будет считаться сетевым вызовом, и установка -use-network = false прервет эти вызовы. Это связано с песочницей безопасности. Если бы это было разрешено, то флэш-приложение можно было бы использовать с некоторым простым AJAX, чтобы очень легко превратить несетевое приложение в сетевое.

Документ Adobe сообщает:

Это взаимодействие основывается на доменных ограничениях безопасности, которые определяют свойства allowScriptAccess и allowNetworking. Вы устанавливаете значения свойств allowScriptAccess и allowNetworking в оболочке SWF-файла.

Ссылка:

/using/WS2db454920e96a9e51e63e3d11c0bf6167e-7fff.html#WS2db454920e96a9e51e63e3d11c0bf6167e-7ff5

Изучите возможность преобразования своего приложения в приложение AIR, поскольку вы сможете выполнять как сетевые, так и локальные файловые операции (другая модель безопасности, поскольку пользователь устанавливает приложение).

person Nate    schedule 08.06.2012
comment
спасибо за ответ Нейт, я пытался получить некоторую информацию о воздухе, это приложение должно работать в Photoshop как панель, поэтому я не знаю, можно ли это сделать с помощью воздуха. Отправка данных растрового изображения из extendscript во флеш-память и создание там растрового изображения кажется мне сейчас окончательным решением, которое я не знаю, как это сделать. Лучший. - person eren; 10.06.2012