![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jul 2010
Сообщений: 23
|
Всем привет!
Делаю AIR-проект. Нужно загрузить локальный swf файл. Хочу использовать для этого mx.controls.SWFLoader. Код выглядит приблизительно так: protected function onBrowse(event:MouseEvent):void { var clipFile:File = new File(); var filter:FileFilter = new FileFilter("Clip files", "*.swf;*.png"); try { clipFile.browseForOpen("Open", [filter]); clipFile.addEventListener(Event.SELECT, onFileSelected); } catch (e:Error) { } } protected function onFileSelected(e:Event):void { var clipFile:File = File(e.target); preview.source = clipFile.nativePath; } <s:SWFLoader id="preview" x="10" y="110" width="203" height="147" horizontalAlign="center" verticalAlign="middle"/> *** Security Sandbox Violation *** SecurityDomain 'file:///hero.swf' tried to access incompatible context 'app:/builder.swf' p.s. проект у меня называется builder.swf, а файл, который я загружаю - hero.swf Читал, что в AIR Security Sandbox как-то отличается от Flash Player'а (правда так и не понял чем). Что можно применить в моем случае? |
|
|||||
|
Регистрация: Jul 2010
Сообщений: 23
|
Не ужели никто не сталкивался с такой проблемой?
|
|
|||||
|
Регистрация: Jun 2011
Сообщений: 212
|
Через loader::load() грузится без проблем.
|
|
|||||
|
Регистрация: Jul 2010
Сообщений: 23
|
Согласен. Но хотелось бы использовать SWFLoader. И еще один момент - такая ошибка возникает только если запускается "проигрывателем" AIR, если использовать Flash Player, то все нормально.
|
|
|||||
|
Регистрация: Jun 2011
Сообщений: 212
|
Цитата:
Открываем mx.controls.SWFLoader и в методе loadContent(classOrString:Object) видим: 2. По поводу loadBytes в приложении AIR Вот что пишет официальный мануал: 3. На практике: Ни при loaderContext.allowLoadBytesCodeExecution = true 4. Нюанс: Несмотря на то, что в официальной документации говорится о необходимости указания allowLoadBytesCodeExecution = true, практически в рантайме выскакивает ошибка о необходимости allowCodeImport. 5. Вот что пишет один человек на эту тему: Re: Load "non sandbox" application swf from a server web into an AIR application « Reply #1 on: 10 Feb 2010, 14:19:05 UTC » A SWF loaded from the web cannot be trusted in the same way as a locally installed application. The AIR runtime will not allow an AIR app and a loaded SWF to co-exist in the same application sandbox. 5. Вывод Если есть желание - используй мост изолированной программной среды в AIR (parentSandboxBridge, childSandboxBridge и т.п.). |
|
|||||
|
Регистрация: Jul 2010
Сообщений: 23
|
Спасибо за развернутый ответ. Все получилось.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 01:59. |
|
|
« Предыдущая тема | Следующая тема » |
|
|