Не удается загрузить миниатюры YouTube. Нарушение изолированной программной среды безопасности: LoaderInfo.content: невозможно получить доступ к * .png. Нет доступа к файлам политики - PullRequest
2 голосов
/ 21 февраля 2012

Кажется, я не могу обойти эту проблему с загрузкой изображений в своем проекте actionscript 3.0. Я подозреваю, что это как-то связано с тем, как я настроил crossDomain.xml. Проблема в том, что я могу загрузить миниатюрные изображения фильмов youtube из http://img.youtube.com/ во флэш-память и отображать их полностью при тестировании / запуске SWF в автономном (локальном) проигрывателе.

Но когда я загружаю SWF-файл и проверяю его через Интернет, я получаю ошибки «Песочницы» и нарушения безопасности.

Вот мой файл crossDomain.xml (хранится в корне сервера):

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd>
<cross-domain-policy>
<site-control permitted-cross-domain-policies="all"/>
<allow-access-from domain="*" to-ports="*"/>
<allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>

Вот несколько AS3:

Security.loadPolicyFile('http://youtube.com/crossdomain.xml');
// LoaderContext used
externalLoaderCntxt = new LoaderContext( true, new ApplicationDomain() );
loader.load( http://img.youtube.com/vi/nTYcgnqAzqE/2.jpg, externalLoaderCntxt );

Вот ошибка, которую я получаю с текущей конфигурацией crossDomain.xml и loaderContext

SecurityError: Error #2123: Security sandbox violation: LoaderInfo.content: http://*.*.com/bin/PipedLoader_test.swf?ver=ef331d0dcb1e1ef59b325969ebadafa4 cannot access http://img.youtube.com/vi/nTYcgnqAzqE/2.jpg. No policy files granted access.
at flash.display::LoaderInfo/get content()
at *.pipedLoader::PipedLoader/onImageLoadComplete()[*\pipedLoader\PipedLoader.as:915]

Я пытался создать LoaderContext без checkPolicyFiles как ложного.

Есть ли способ устранить эти нарушения безопасности Sandbox? Или поскольку используемый файл crossDomain.xml размещен на YouTube.com, я ничего не могу изменить?

Если это лестница, как можно загрузить эти миниатюры и использовать их? Может ли файл политики наложить ограничения на свойство loaderInfo.content?

Любая помощь будет отличной, спасибо! TwoBit

1 Ответ

3 голосов
/ 23 февраля 2012

Попробуйте использовать: http://i.ytimg.com вместо img.youtube.com - вы можете убедиться, что: http://i.ytimg.com/crossdomain.xml имеет доступ к домену с подстановочными знаками.

...