Задача: сделать возможным отправку запросов в интернет из флеша запущенного с локального протокола (widget://, file://, chrome-extension://) без особых разрешений на
www.macromedia.com/support/documentation/en/flashp...
Предполагаемое решение: проксирующий swf файл (мост), который загружается в страницу открываемую браузером по протоколу file (или widget или chrome-extension или по любому другому не http), загружает в себя другой swf файл, который располагается на http сервере. Этот swf мост передаёт все свои js вызовы из браузера в http swf файл, и соответсвенно принимает всё из него и передаёт обратно в браузер.
Решение основывает на предположении, что модель песочницы основывается на протоколе (ссылке) по которой загружается флеш, поэтому http swf может нормально отправлять запросы в интернет (и общаясь со своим родителем выполнять нужные нам действия).
Данная реализация есть у youtube роликов — если их встроить в локальную страницу они нормально загружаются и проигрываются. (как ни странно в флеш запущенный локально можно встроить флеш с http сервера — возможно это присуще только flash 8 или 7 )
В итоге должно получится так, что soundmanager2
www.schillmania.com/projects/soundmanager2/ (проект для проигрывания аудио и видео файлов в браузере полностью через js интерфейс с помощью флеша) открытый локально на компьютере через file:// (flash 9 версия) будет нормально инициализироваться через этот прокси, скачивать, проигрывать и показывать файлы из интернета. Интересует конкретно его вот эта версия
github.com/scottschiller/SoundManager2/tree/V2.95b...
Насколько я предполагаю всё должно быть просто, что нибудь типа этого (абстрактно)
<pre>//proxy - глобальный объект этого файла
var api_donor = (new FlashFileLoader()).load('http://d.com/swf/soundmager.swf');
proxy.externalInterface.in = function () {
api_donor.in.apply(api_donor, arguments);
}
api_donor.out = function () {
proxy.externalInterface.out.apply(proxy.externalInterface, arguments);
}</pre>
www.flasher.ru/forum/showthread.php?t=149504&highl...help.adobe.com/en_US/as3/dev/WS5b3ccc516d4fbf351e6...
Можете посмотреть как работает ютубовский ролик.
Мой товарищ заинтересован в данном прокси, что бы проигрывать музыку в оперовском расширении для своего проекта
seesu.me без требования от пользователя проставить особые расширения на этой странице
www.macromedia.com/support/documentation/en/flashp... (с проставленным разрешением SoundManager2 нормально инициализируется)