目标:
我试图允许外部加载的 swf 文件与从设备本地加载的文件相互通信。我需要能够访问变量、函数和对象。我在从网上加载 swf 内容时已经实现了这一点:as3 从网络外部加载的swf 控制从网络外部加载的swf https://stackoverflow.com/questions/9715798/as3-externally-loaded-swf-from-network-to-control-externally-loaded-swf-from-net
但是当我为用户提供从设备或在线加载的选项时... 设备 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 包加载的程序时遇到的错误。
错误:
安全错误:错误#3207:应用程序沙箱内容无法访问此功能。
在 flash.system::Security$/allowDomain()
在 Products_fla::MainTimeline/frame1()
无法在此位置显示源代码。
问题:我可以做些什么来允许安全域在 AIR FOR ANDROID 设备上本地工作,这样我就不必更改我的代码? - 谢谢
如果你在该行周围放置一个 try catch ,即使失败也不会抛出错误。这样,您的代码就可以在网络上并作为应用程序运行。 (应用程序不需要允许域 b/c 他们可以默认下载所有内容,这就是它失败的原因。)
try {Security.allowDomain("*");}catch (e) { };
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)