GravatarsをFlashに読み込もうとしています。幸いなことに、彼らはhttp://en.gravatar.com/avatar/crossdomain.xml
私のコードFlash Crossdomain.xmlの問題
でcrossdomain.xmlファイルを提供:
Security.loadPolicyFile("http://en.gravatar.com/avatar/crossdomain.xml");
var loader:Loader = new Loader();
loader.load(new URLRequest("http://en.gravatar.com/avatar/" + gravatar + "?s=35&d=identicon"));
しかし、私はまだ、このエラーを取得しています:
SecurityError: Error #2123: Security sandbox violation: LoaderInfo.content: [...] cannot access http://en.gravatar.com/avatar/97fbce86a5bbc520450168603172cd9e?s=35&d=identicon . No policy files granted access.
at flash.display::LoaderInfo/get content()
at PiecePlayerSmall/onLoadComplete()
は、私はまた、Flashファイルがあるトラフィックを監視し送信。それは要求しています:これを取得するための
- マイドメインのcrossdomain.xmlファイル
- "http://en.gravatar.com/avatar/crossdomain.xml"
- "http://en.gravatar.com/crossdomain.xml"
- "http://en.gravatar.com/" そして
- 、http://en.gravatar.com/avatar/97fbce86a5bbc520450168603172cd9e?s=35&d=identicon
任意の提案仕事をしたり、gravatar.comへのリクエスト数を減らしたりします。
EDIT: 次のコードは動作しますが、ヤコブ
のおかげSecurity.loadPolicyFile("http://en.gravatar.com/avatar/crossdomain.xml");
var context:LoaderContext = new LoaderContext();
context.checkPolicyFile = true;
context.applicationDomain = ApplicationDomain.currentDomain;
var request:URLRequest = new URLRequest(
"http://en.gravatar.com/avatar/" + gravatar + "?s=35&d=identicon");
var loader:Loader = new Loader();
loader.load(request, context);
this.addChild(loader);
注:私はすることにより、同様の問題を中心に持ってEvent.COMPLETE
私のリクエストURLが現在のドメインにない場合はどうなりますか? –
あなたの現在のドメインでない場合は、自分のリソースにアクセスする権限がないことを意味します。この場合、crossdomain.xmlをインライン化するためにいくつかのハックメソッドを実行する必要があります。 –