AS3: crossdomain.xml не работает - PullRequest
       25

AS3: crossdomain.xml не работает

0 голосов
/ 31 октября 2011

Я разрабатываю этот видеоплеер: http://www.horsform.com/_WIP/mjf_2011/live/demo_player/_final/index.html

В приведенном выше примере проигрыватель загружает это начальное изображение, чтобы отобразить его перед воспроизведением видео: http://www.horsform.com/_WIP/mjf_2011/live/demo_player/_final/videos/HF_REEL.jpg

-

Здесь я тогда говорю игроку загрузить то же изображение, но в другом домене: http://www.horsform.com/_WIP/mjf_2011/live/demo_player/_final/index2.html

Данное изображение: http://www.daviddarx.com/HF_REEL.jpg

-

Как видите, это больше не работает. Я искал в Google и обнаружил, что теоретически мне нужно было добавить crossdomain.xml, чтобы убедиться, что нет защиты, позволяющей избежать swf для загрузки изображений из другого домена.

Я поместил эти два файла в мои разные домены, чтобы указать swf на прием файлов из всех * доменов: http://www.horsform.com/crossdomain.xml

http://www.daviddarx.com/crossdomain.xml

Но это все еще не работает ... Вы знаете, что не так? Я что-то пропустил? Заранее благодарю за помощь!

Davis

1 Ответ

1 голос
/ 31 октября 2011

RTE фактически говорит вам, что делать:

Файл политики требуется, но флаг checkPolicyFile не был установлен когда этот носитель был загружен.

из справки AS3:

Когда вы вызываете метод load () объекта Loader, вы можете указать параметр контекста, который является объектом LoaderContext. Класс LoaderContext включает в себя три свойства, которые позволяют вам определить контекст использования загруженного контента:

checkPolicyFile: используйте это свойство только при загрузке файла изображения (не SWF-файл). Укажите это для файла изображения с другого домена чем файл, содержащий объект Loader. Если вы установите это При значении true загрузчик проверяет исходный сервер на наличие файл междоменной политики (см. Элементы управления веб-сайта (междоменная политика файлы)). Если сервер предоставляет разрешение на домен загрузчика, ActionScript из SWF-файлов в домене Loader может обращаться к данным в загруженное изображение. Другими словами, вы можете использовать Loader.content свойство для получения ссылки на объект Bitmap, представляющий загруженное изображение или метод BitmapData.draw () для доступа к пикселям из загруженного изображения.

Таким образом, вам нужно передать экземпляр LoaderContext с флагом checkPolicyFile, установленным в значение true, в качестве параметра Loader#load метода

Что-то вроде:

var loader : Loader = new Loader();
loader.load( new URLRequest( 'http://www.daviddarx.com/HF_REEL.jpg' ), new LoaderContext( true ) );
...