![]() |
Политика безопасности Flash-плеера и не только
Привет.
Помогите решить проблему, бьюсь уже часа три, не меньше. Что хочу сделать? Хочу сделать некий wrapper. Т.е. флешка грузит еще одну флешку внутрь себя, далее идет работа с подгруженной флешкой (addChild, интерактив). Использую следующий код в wrapper'е: Код AS3:
А что не так? А не так то, что это все не работает. После запуска такого кода флеш начинает жестоко личить в память, и складывается ощущение, что он загружает сам себя. Адрес wrapper'a (Preloader'a): xxx.ru/preloader.swf (условно). Адрес подгружаемой swf-шки: xxx.ru/my.swf (условно). Лежат на одном домине, с ними рядом лежит: crossdomain.xml, листинг: Код:
<cross-domain-policy>Код:
...Самое интересное, что локально это все работает нормально. Т.е. заливаю на хостинг my.swf, локально компилирую preloader.swf — работает на ура. Как стоит мне залить preloader.swf на хостинг, то возникает такая ситуация. Сталкивался кто? |
Привет, первое, я бы не стал лодер в аддЧайлд совать (addChild(m_loader);) а его контент. Проверь права доступа к файлу на хостинге.
|
И ещё... Уже пару раз на форуме было: если документ-класс в обоих флешках имеет одно имя (и пакет), например Main(), то это может быть причиной глюков.
|
Спасибо дорогие друзья, особенно fish_r.
Действительно, сменил название главного класса в флешке с Main на Wrapper - все заработало. |
Цитата:
А надо было разобраться почему так происходит и просто поменять applicationDomain, в который идет загрузка |
Цитата:
|
Причиной проблемы является то, что в ApplicationDomain уже есть класс с таким именем.
Возможны 2 решения: а) переименовать класс б) загрузить в домен, в котором класса с таким именем нет Решение б) является универсальным, т.к. один модуль по определению не будет пересекаться с другим, при любых названиях классов. Более того, при таком подходе модуль можно выгрузить. Решение а) является прямолинейным и не позволяет Вам делать одинаковые названия классов в разных модулях Цитата:
|
Встреча двух классов с одинаковым именем в одном домене - есть уже признак кривизны. Исправлять надо то, что криво, и автор, в данном случае, имеет такую возможность, а вы предлагаете "лечить" ситуацию "костылями", по факту.
То что называется проверкой типов на этапе исполнения, напр. я уже не смогу обратиться к методу загруженного класса Код AS3:
А ты о каких типах подумал? |
Цитата:
Цитата:
Однако, т.к. домен (а значит и наличие в нем класса с каким-то именем) определяется именно загружающим модулем, то свой способ я считаю верным, а Ваш - нет. Цитата:
|
Вложений: 1
@gloomy можешь говорить мне "ты" не опасаясь панибратства :)
Цитата:
Я имел ввиду вообще то вот это. Цитата:
Цитата:
И, кстати, не пойму: как мне поможет интерфейс в отсутствии доступа к типам? Вот это - костыль: |
| Часовой пояс GMT +4, время: 00:32. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.