我有一个嵌入到 iframe 中的 flash 应用程序,它托管在我的域 ( hc.ru
) 上。但是,swf文件位于cs1234.vk.me
并从那里加载。iframe 嵌入在具有vk.com
域的页面中。在我的 flash 应用程序中,我想从 domain 加载图像cs4321.vk.me
。当我使用本地文件在本地测试我的 Flash 应用程序时,它工作得很好。这是加载图像的代码:
_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>
我真的不明白这个问题,因为没有任何错误。
提前致谢。