Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 07.07.2011, 01:27
flashfoxter вне форума Посмотреть профиль Отправить личное сообщение для flashfoxter Найти все сообщения от flashfoxter
  № 1  
Ответить с цитированием
flashfoxter

Регистрация: Jun 2011
Сообщений: 91
По умолчанию crossdomain: расставим точки над i

Добрый день.
Промучавшись два дня, с нарушениями песочницы, решил вопрос по другому, но теперь хотел вернуться к этому вопросу и понять в чем соль.
Я перерыл всю кирупу и весь флэшер, ничего не помогло решить вопрос.
Решил разбираться фундаментально.

В общем ситуация такова, есть swf1 который загружен на сервер и swf2 который находится на другом сервере, который загружается в swf1.

В идеале конечно было бы получить готовый код, для запуска swf как локально так и с сервера, загрузки в себя swf2 , получения классов swf2, но так как таких добрых людей наверное нет(goodGuy камень в ваш огород ), начну издалека(упрощаем задачу) :

Информация с сайта Adobe:

Вот пример проверки наличия файла политики при загрузке SWF-файла из другого домена в целях размещения файла в той же изолированной программной среде, что и объект Loader. Кроме того, этот код добавляет классы в загруженном SWF-файле в тот же домен приложения, что и у объекта Loader:

Код AS3:
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);
Результат: [SecurityErrorEvent type="securityError" bubbles=false cancelable=false eventPhase=2 text="Error #2048: Security sandbox violation ....

Кто-нибудь поможет ?


Итак на данный момент Благодаря этому блогу:
http://www.bigspaceship.com/blog/lab...-errors-oh-my/

Имеем понимание как определить, откуда запущена флэшка:

Код AS3:
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.
Создать новую тему   Часовой пояс GMT +4, время: 19:10.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 19:10.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.