2012-02-21 2 views
2

私のactionscript 3.0プロジェクトでこのイメージの読み込みに問題があります。私はcrossDomain.xmlの設定方法と関係があると考えています。問題は、SWFムービーをhttp://img.youtube.com/からFlashに読み込んでスタンドアロン(ローカル)プレーヤーでSWFをテスト/実行する際に完全に正常に表示できることです。YouTubeのサムネイル画像を読み込めません。セキュリティサンドボックス違反:LoaderInfo.content: '* .png'にアクセスできません。ポリシーファイルがアクセス許可されていません

しかし、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] 

私は、checkPolicyFilesなしでLoaderContextを作成しようとしました。偽です。

これらのセキュリティサンドボックス違反を削除する方法はありますか?または、使用されているcrossDomain.xmlがYouTube.comによってホストされているため、変更することはできません。

これらのサムネイル画像をどのように読み込んで使用すればよいでしょうか?ポリシーファイルでloaderInfo.contentプロパティに制限を設けることはできますか?

ご協力いただきありがとうございます。 TwoBit

答えて

3

は、使用してみてください:http://i.ytimg.com代わりimg.youtube.comの - あなたはそれを確認することができます。http://i.ytimg.com/crossdomain.xmlは、ワイルドカードドメインアクセスを持っています。

関連する問題