Почему не работает swfloader?

Я пытаюсь использовать компонент mxml swfloader для загрузки внешней флеш-памяти со следующего URL-адреса, но он ничего не загружает. Я использую FlashBuilder 4.5.

http://somesite.com/en/interface.swf?token=123

Понятия не имею, почему это не работает.


person chobo    schedule 06.07.2011    source источник


Ответы (3)


Я предполагаю, что у вас есть нарушение безопасности песочницы. Вы не можете загрузить swf из другого домена / порта без crossdomain xml < / а>.

person J_A_X    schedule 06.07.2011
comment
Нет ли ошибки в сообщении о нарушении? Я просто вижу пустое окно браузера. - person chobo; 07.07.2011
comment
Я считаю, что он должен вам сказать, но вам необходимо установить отладку Flash Player. Возможно, поэтому вы увидели белый экран, потому что ошибка может остановить что-либо еще. - person J_A_X; 07.07.2011
comment
У меня есть отладчик, и я вижу эти экраны с ошибками в других случаях. По-прежнему возникают проблемы с этим. Я попробовал предложенное ниже, чтобы использовать allowDomain, но все равно ничего. - person chobo; 07.07.2011
comment
Они утверждают, что имеют одну настройку с сопоставлением подстановочных знаков. - person chobo; 07.07.2011
comment
Я только что пробовал сам. Использовал SWFLoader для точной загрузки этого URL-адреса и указывал Security.allowDomain('*') в предварительной инициализации. Он загружается, но не отображается, потому что SWF, который вы пытаетесь загрузить, был создан с использованием кода AS1 или AS2 и возвращает AVM1Movie, который не позволяет Flex разговаривать с ним (потому что Flex - это AVM2), а Flex не основан на кадрах, и это определенно является. По сути, предоставленный ими SWF - сплошная чушь и чертовски старый. Им нужно обновление. - person J_A_X; 08.07.2011
comment
Фактически вы можете загружать и отображать фильмы AVM1 с помощью элемента управления загрузчика flex swf или класса загрузчика, но это две проблемы с файлом, который я пытаюсь загрузить. Во-первых, он модульный, поэтому, когда я пытаюсь загрузить его, он загружает в него дополнительные swf, а те загружают в них несколько. Вторая проблема заключается в том, что я использую ссылку, которая перенаправляет на файл swf, который я должен загрузить. - person chobo; 23.07.2011
comment
Да, вы можете загрузить AVM1Movies, как упоминалось выше, поскольку он выполнял загрузку с использованием SWFLoader. Однако это не является «модульным», по крайней мере, не в том смысле, в котором это Flex понимает модули, поскольку, скажем, модули не существуют в ActionScript. Возможно, ваш «модуль» не загружает другие, потому что код в нем некорректен или пытается получить к нему доступ через другой домен или порт, что вызывает проблему с песочницей. - person J_A_X; 24.07.2011
comment
Я имел в виду модульный дизайн, то есть они разделили свой swf на отдельные swf или как вы их хотите называть для упрощения повторного использования кода и удобства обслуживания. - person chobo; 25.07.2011

если swf из другого домена, вам, вероятно, следует добавить в свой код

System.security.allowDomain («домен»);

person Senad Meškin    schedule 06.07.2011

Загружаемая флеш-память загружает в нее дополнительные флеш-файлы, используя относительные пути. Изменение абсолютных путей должно исправить это

person chobo    schedule 24.08.2011