![]() |
|
||||||||||
|
|||||
|
Регистрация: Jun 2011
Сообщений: 91
|
Добрый день.
Промучавшись два дня, с нарушениями песочницы, решил вопрос по другому, но теперь хотел вернуться к этому вопросу и понять в чем соль. Я перерыл всю кирупу и весь флэшер, ничего не помогло решить вопрос. Решил разбираться фундаментально. В общем ситуация такова, есть swf1 который загружен на сервер и swf2 который находится на другом сервере, который загружается в swf1. В идеале конечно было бы получить готовый код, для запуска swf как локально так и с сервера, загрузки в себя swf2 , получения классов swf2, но так как таких добрых людей наверное нет(goodGuy камень в ваш огород ), начну издалека(упрощаем задачу) :Информация с сайта Adobe: Вот пример проверки наличия файла политики при загрузке SWF-файла из другого домена в целях размещения файла в той же изолированной программной среде, что и объект Loader. Кроме того, этот код добавляет классы в загруженном SWF-файле в тот же домен приложения, что и у объекта Loader: var context:LoaderContext = new LoaderContext(); context.securityDomain = SecurityDomain.currentDomain; context.applicationDomain = ApplicationDomain.currentDomain; var urlReq:URLRequest = new URLRequest("http://www.[your_domain_here].com/library.swf"); var ldr:Loader = new Loader(); ldr.load(urlReq, context); Кто-нибудь поможет ? Итак на данный момент Благодаря этому блогу: http://www.bigspaceship.com/blog/lab...-errors-oh-my/ Имеем понимание как определить, откуда запущена флэшка: var l:Loader = new Loader(); l.contentLoaderInfo.addEventListener(Event.COMPLETE, _onLoadComplete_handler); if(Security.sandboxType == Security.REMOTE){ var context:LoaderContext = new LoaderContext(); context.securityDomain = SecurityDomain.currentDomain; l.load(new URLRequest('http://domain.com/extFile.swf'), context); }else{ l.load(new URLRequest('extFile.swf')); } Добавлено через 37 минут Последний раз редактировалось flashfoxter; 07.07.2011 в 02:25. |
|
|||||
|
Регистрация: Jun 2011
Сообщений: 91
|
Таки он есть
И я перепробовал все и вся Тот вариант кода что приведен, как я уже говорил для простоты решения по шагам.И crossdomain я грузил... Хотя в документации сказано, что если он есть он его итак подхватит... Я и не обещал разговоров про crossdomain.xml, я предлагал решить вопрос с кроссдоменными запросами, что бы он уже не возникал(потому, что таких тем или подобных на этом форуме очень много) Ну в общем-то вызывает нарушение песочницы только при запуске с сервера, при запуске локально просто не забирает классы из swf. Пробовал так: var bTestClass:Class = ApplicationDomain.currentDomain.getDefinition("BaloonSmall") as Class; var b:MovieClip = new bTestClass(); addChild(b); Последний раз редактировалось flashfoxter; 07.07.2011 в 05:01. |
|
|||||
|
Кроссдоменника либо нет либо он лежит не в корне. Если он лежит не в корне то нужно воспользоваться кодом из сообщения in4core.
Также надо понимать, что www.domain и domain - разные домены и их надо правильно прописать в кроссдоменнике АПД: понятно, что вы каких-то самых базовых основ не понимаете, а потому поясню - кроссдоменник нужен на сервере ОТКУДА скачивается контент. т.е. Цитата:
Последний раз редактировалось kackbip; 07.07.2011 в 07:40. |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:36. |
|
|
« Предыдущая тема | Следующая тема » |
|
|