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

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

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

Регистрация: Jun 2009
Сообщений: 35
По умолчанию Политика безопасности Flash-плеера и не только

Привет.
Помогите решить проблему, бьюсь уже часа три, не меньше.

Что хочу сделать?

Хочу сделать некий wrapper.
Т.е. флешка грузит еще одну флешку внутрь себя, далее идет работа с подгруженной флешкой (addChild, интерактив).

Использую следующий код в wrapper'е:

Код AS3:
public function Main():void 
{
if (stage) init();
else this.addEventListener(Event.ADDED_TO_STAGE, init);
}
 
public function init(event:Event = null):void
{
this.removeEventListener(Event.ADDED_TO_STAGE, init);
 
stage.dispatchEvent(new Event(Event.DEACTIVATE)); 
stage.dispatchEvent(new Event(Event.ACTIVATE));
 
 
loadExeption();
}
 
public function loadExeption():void
{
 
Security.allowDomain("*"); 
Security.allowInsecureDomain("*");
 
loaderContext = new LoaderContext();
loaderContext.checkPolicyFile = true;
 
if (Security.sandboxType != 'localTrusted') 
{
loaderContext.applicationDomain = ApplicationDomain.currentDomain;
loaderContext.securityDomain = SecurityDomain.currentDomain;
}
 
m_loader = new Loader();
m_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteHandler);
 
m_loader.load(new URLRequest("xxx.ru/my.swf"), loaderContext);
}
 
public function onCompleteHandler(e:Event):void
{
addChild(m_loader);
}
Вроде все правильно, ошибок при компиляции нет, realtime ошибок тоже.

А что не так?

А не так то, что это все не работает. После запуска такого кода флеш начинает жестоко личить в память, и складывается ощущение, что он загружает сам себя.


Адрес wrapper'a (Preloader'a): xxx.ru/preloader.swf (условно).
Адрес подгружаемой swf-шки: xxx.ru/my.swf (условно).

Лежат на одном домине, с ними рядом лежит:
crossdomain.xml, листинг:

Код:
<cross-domain-policy>
<site-control permitted-cross-domain-policies="master-only"/>
<allow-http-request-headers-from domain="xxx.ru" headers="*"/>
<allow-access-from domain="xxx.ru" to-ports="80"/>
</cross-domain-policy>
Использую swfobject.js, в index.html (index.php) кусок кода, ответственный за флешку:
Код:
...
var params = {
menu: "false",
scale: "noScale",
allowFullscreen: "true",
allowScriptAccess: "always",
allowNetworking: "always",
bgcolor: "#000000"
};
...
swfobject.embedSWF("preloader.swf", "altContent", "600", "580", "10.0.0", "expressInstall.swf", flashvars, params, attributes);
У второй флешки есть событие added_to_stage, костыль с активацией/деактивацией.

Самое интересное, что локально это все работает нормально.
Т.е. заливаю на хостинг my.swf, локально компилирую preloader.swf — работает на ура. Как стоит мне залить preloader.swf на хостинг, то возникает такая ситуация. Сталкивался кто?

Создать новую тему   Часовой пояс GMT +4, время: 11:56.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
flash , loader , loaderContext , безопасность

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

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


 


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


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