从闪存中的其他域加载图像

时间:2013-03-17 08:51:34

标签: actionscript-3 flash cross-domain loader

我有一个Flash应用程序,该应用程序被发送到我的域(hc.ru)上托管的iframe。但是, swf 文件位于cs1234.vk.me并从那里加载。 iframe会在包含vk.com域的网页中展示。在我的Flash应用程序中,我想从域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文件上传到服务器并在浏览器中打开它时,它根本不显示图像。但是,没有任何类型的错误抛出,跟踪输出显示“图像已加载”。所有包含swf文件和图像的cs****.vk.me服务器都有以下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>

我没有真正解决问题,因为没有任何错误。
提前谢谢。

0 个答案:

没有答案