当安全性违规下面的代码被简化例如AIR:使用远程图像
我开发AIR应用程序(使用Flex),其装载它的几个图像的从远程web服务器。这些图像显示效果细腻,但是,每当我在操纵其持有的远程加载的图像的容器,我得到的错误在我的控制台:
*** Security Sandbox Violation ***
SecurityDomain 'http://www.google.com/intl/en_ALL/images/logo.gif' tried to access incompatible context 'app:/sandbox_test.swf'
的图像似乎并没有受到影响,但我不t喜欢显示错误,我不明白。下面是举例说明该问题的示例应用程序:
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication width="500" height="500" xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:HDividedBox width="100%" height="300" horizontalCenter="0" verticalCenter="0" backgroundColor="#000000" liveDragging="true">
<mx:Image source="http://sstatic.net/so/img/logo.png"/>
<mx:Image source="http://www.google.com/intl/en_ALL/images/logo.gif"/>
</mx:HDividedBox>
</mx:WindowedApplication>
如果您将使用上的HDividedBox牵引机,会出现安全错误。
我已经看了一些安全类/安全沙箱中的东西为空,但默认情况下AIR应有权访问网络资源(这就是为什么图像加载我认为)。在AIR中使用Security.allowDomain(“www.google.com”)不是一个选项 - 它只是抛出SecurityError。
有谁知道是什么原因引起的,或如何解决呢? (或者也许它只是一个Flex/AIR错误?)。
而且 - 没有人知道是否有当错误发生破裂的一种方式,这样我就可以究根行动造成的呢?
Ha是否使用调试器来确定安全错误何时实际发生?在绘画阶段? – ryanstewart
当错误触发时,调试器实际上不会中断,它们只是打印到控制台。目前还不清楚我如何追踪他们的来源 –