目标:
我正在尝试允许外部加载的 swf 文件相互通信,这些文件是从设备本地加载的。我需要能够访问变量、函数和对象。我在从此处的网络加载 swf 内容时实现了这一点:as3 externally loaded swf from network to control externally loaded swf from network
但是当我为用户提供从设备加载或从在线加载的选项时...设备 swf 文件无法相互通信。具体来说,加载的 swf 无法从其父级获取信息。
下面是从在线加载时有效的代码:
var InsideConent:Object = this.parent.parent as Object; //// GIVES ACCESS TO "Content.swf"
var ItWorksNow:Sprite = MovieClip(InsideConent.TWO.content).ChildInTWO; ///
设备不喜欢这个代码:
Security.allowDomain("*");
但是在线运行时它工作正常。下面是我在本地运行从 APP 包加载的错误。
错误:
SecurityError:错误#3207:应用程序沙盒内容无法访问此功能。 在 flash.system::Security$/allowDomain() 在 Products_fla::MainTimeline/frame1() 无法在此位置显示源代码。
问题: 我可以做些什么来让安全域在 AIR FOR ANDROID 设备上本地工作,这样我就不必更改我的代码了吗? - 谢谢
最佳答案
如果你在该行周围放置一个 try catch,它在失败时不会抛出错误。这样,当您的代码可以在网络上和作为应用程序运行时。 (应用程序不需要 allowDomain b/c 它们可以默认下载所有内容,这就是它失败的原因。)
尝试 {Security.allowDomain("*");}catch (e) { };
关于android - as3 AIR for android - 应用程序沙盒内容错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10425505/