ドメイン ( ) でホストされている iframe に埋め込まれた Flash アプリケーションがありますhc.ru
。ただし、swfファイルは にありcs1234.vk.me
、そこからロードされます。ドメインを持つページにiframeが埋め込まれていvk.com
ます。私のフラッシュ アプリケーションでは、 domain からイメージをロードしたいと考えていますcs4321.vk.me
。ローカル ファイルを使用してフラッシュ アプリをローカルでテストすると、問題なく動作します。画像をロードするコードは次のとおりです。
_imgContainer = new Sprite();
var loader:Loader = new Loader();
_imgContainer.addChild(loader);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaderComplete);
loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onError);
loader.load(new URLRequest(url));
loader.mask = mc_holder;
private function onError(event:SecurityErrorEvent):void
{
trace("security error");
trace(event.text);
}
private function onLoaderComplete(event:Event):void
{
trace("the image was loaded");
this.addChild(_imgContainer);
}
swf ファイルをサーバーにアップロードしてブラウザで開くと、画像がまったく表示されません。ただし、スローされるエラーはなく、トレース出力には「イメージが読み込まれました」と表示されます。cs****.vk.me
swf ファイルとイメージの両方を含むすべてのサーバーには、次のcrossdomain.xml
ファイルがあります。
<cross-domain-policy>
<site-control permitted-cross-domain-policies="master-only"/>
<allow-http-request-headers-from domain="vk.com" headers="*"/>
<allow-http-request-headers-from domain="*.vk.com" headers="*"/>
<allow-http-request-headers-from domain="userapi.com" headers="*"/>
<allow-http-request-headers-from domain="*.userapi.com" headers="*"/>
<allow-http-request-headers-from domain="vk.me" headers="*"/>
<allow-http-request-headers-from domain="*.vk.me" headers="*"/>
<allow-http-request-headers-from domain="vkontakte.ru" headers="*"/>
<allow-http-request-headers-from domain="*.vkontakte.ru" headers="*"/>
<allow-http-request-headers-from domain="mvkontakte.com" headers="*"/>
<allow-http-request-headers-from domain="*.mvkontakte.com" headers="*"/>
<allow-access-from domain="vk.com" to-ports="80"/>
<allow-access-from domain="*.vk.com" to-ports="80"/>
<allow-access-from domain="vk.me" to-ports="80"/>
<allow-access-from domain="*.vk.me" to-ports="80"/>
<allow-access-from domain="userapi.com" to-ports="80"/>
<allow-access-from domain="*.userapi.com" to-ports="80"/>
<allow-access-from domain="vkontakte.ru" to-ports="80"/>
<allow-access-from domain="*.vkontakte.ru" to-ports="80"/>
<allow-access-from domain="mvkontakte.com" to-ports="80"/>
<allow-access-from domain="*.mvkontakte.com" to-ports="80"/>
</cross-domain-policy>
なんらかのエラーがないので、実際には問題はありません。
前もって感謝します。