2013-05-19 23 views
0

我在vk.com有一个iframe应用程序。我可以使用他们的API一切看起来不错,但是当我想加载配置文件图像时,我得到安全沙箱错误。当我打印出结果和错误,我得到这样的:(我用使用GreenSock ImageLoader的)在VK.com上使用ActionScript加载个人档案图片

MYURL:上cs408919
加载跨域 '对VK的cs408919子域MY图片网址'
ScriptAccessDenied:错误#2048
的SecurityError:错误#2048
错误:错误#2048
ScriptAccessDenied:错误#2123安全SandBox违规,没有政策文件授予访问

在我看来crossdomain.xml问题,但我找不到正确的。谢谢...

回答

0

是的,这是跨域问题,图像的vk子域不提供crossdomain.xml用户头像,但你仍然可以加载(并添加到显示列表以及)他们。你不能做的是访问加载的内容(并且例如设置smooth位图标志,或者设置draw带有vk图像的孔级)。

如果你需要访问内容,你可以使用这个“策略黑客”,但它是黑客攻击,所以它可以在任何FP更新中修复(我猜这个答案可能会更接近这个时刻:)):

的想法是听添加的事件,如果图像装载机:

protected var _prepareloaderBitmap:Bitmap; 

_prepareloader.addEventListener(Event.ADDED, onPrepareLoader); 
_prepareloader.contentLoaderInfo.addEventListener(Event.COMPLETE, onPrepareLoader); 

和听众:

protected function onPrepareLoader(event:Event):void 
{ 
    //event ADDED fired only for Bitmap (not for SWFs) 
    if(event.type == Event.ADDED) 
    { 
     _prepareloaderBitmap = event.target as Bitmap; 
    } 
    else if (event.type == Event.COMPLETE) 
    { 
     if(_prepareloaderBitmap) 
     { 
      trace("loaded image size:", _prepareloaderBitmap.width, "x", _prepareloaderBitmap.height); 
     } 
    } 
} 

具有参考加载Bitmap您现在可以添加它代替了跨域发布的加载器。

+0

我现在得到的图像形成在我的服务器我希望PHP文件,他们将让我这样 –

1

在附加到fsbmain的答案,我想说你要添加以下代码:

Security.allowDomain("*");