![]() |
Проблемы доступа к swf загруженому с сервера
Загружаю с сервера swf файл.
loaderSource.load(new URLRequest("http://.../xxx.swf")) loaderDest.loadBytes(loaderSource.contentLoaderInfo.bytes); container.addChild(loaderDest); И вот тут у меня начинают валится в лог ошибки: http://localhost:8080/ *** Нарушение безопасности изолированной среды *** SecurityDomain "http://localhost:8080/crossdomain.xml" пытался получить доступ к несовместимому контексту "file:///D|/client/client.swf" Если просто добавляю на сцену container.addChild(loaderSource), то все проходит нормально. Но этот вариант меня не устраивает, так как контент из этого файла, будет добавлен на сцену много раз, поэтому и возникает необходимость его клонировать... Как быть? |
Меня тоже этот вопрос интересует.
Как вообще можно загружать с сервера обьект и рисовать его экземпляры в разных местах на сцене? Кто нибудь может помочь? :) |
Устанавливаете прогу апаче и гразите флешку с вирт сервера
Код:
http://loaclhost/my.swfКод:
http://loaclhost/client.swfmy.swf выбираете в плеере файл - создать проектор и опа, полученный my.exe грузит любые другие swf с компа и не показывает никакую безопастность. |
Цитата:
Второй вариант - использовать импортирующую загрузку. Поиск по форуму. |
Цитата:
Вот содержимое crossdomain.xml: <cross-domain-policy> <allow-access-from domain="*" secure="false" /> <site-control permitted-cross-domain-policies="all"/> <allow-http-request-headers-from domain="*" headers="*"/> </cross-domain-policy> Правда, ероры генерятся только при работе из под IDE, это неприятно тем, что чуток засорется лог, хочется избавиться от них. При использовании импортирующей загрузки, возникает другая ошибка: SecurityError: Error #2142: Нарушение изолированной среды: локальные SWF-файлы не могут использовать свойство LoaderContext.securityDomain. file:///D|/f1/client/client.swf пытался загрузить http://localhost:8080/GW/ships/ship.swf., и соот. вобще ничего не работает. Хотелось обойтись без импортирующей загрузки и только убрать вывод в лог ероров. |
По первоначальной ошибке понятно, что политикой безопасности FP запрещен доступ к содержимому как данным. BitmapData#draw(loader.content) не будет работать, но картинка может быть показана на экране, если сделать addChild(loader).
Импортирующая загрузка не работает для локально работающей флешки (Security.sandboxType != Security.REMOTE). Т.е. для нее нельзя указывать SecurityDomain, и я здесь становлюсь КО. Проверьте, что у вашей загружающей флешки стоит "беспредел" - Код AS3:
С нею, когда Вы загружаете внешнюю swf посредством локальной swf разрешение распространителя не имеет значения (crossdomain.xml игнорируется). Также игнорируется и разрешение разработчика (Security.allowDomain в loadee флешке). |
Цитата:
Цитата:
|
Цитата:
Тип безопасности песочницы - "локальный с установленным доверием". Операция: обращение к содержимому в виде данных из ресурса в удаленной области действия - "Допускается". Колин Мук, Actionscript 3.0 для Flash. ПОдробное руководство. - СПб.: Питер, 2009, с. 478, т. 19.6. |
Цитата:
|
| Часовой пояс GMT +4, время: 20:06. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.