【问题标题】:as3 AIR for android - Application-sandbox content ERRORas3 AIR for android - 应用程序沙盒内容错误
【发布时间】:2012-05-12 14:54:43
【问题描述】:

目标:

我正在尝试允许从设备本地加载的外部加载的 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 设备上本地工作,这样我就不必更改我的代码? - 谢谢

【问题讨论】:

  • 这个一定很棘手。也许没人想碰它。
  • 我遇到了类似的问题:当在 Android 上的 IDEAS 中编译时,找不到使用 Loader 获取简单代码的方法。全局 FlashPlayer 安全设置面板将我重定向到移动 Flash 插件设置,仅允许设置存储和 p2p。
  • 您是否尝试将LoaderContext 传递给help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/…
  • 不,我没试过。我放弃了,现在正在研究学习包。但是伙计哦伙计……对我的小脑袋来说太复杂了。 :)

标签: android actionscript-3 flash security air


【解决方案1】:

据我所知,您无法在 AIR 中从加载的 swfs 执行代码,您仍然可以使用多个 swfs 来显示资产,但任何代码都会出现该错误。

【讨论】:

  • 其实可以的。我的第一个 swf 是适用于 ANDROID 的 AIR,所有其他都是常规 swf 文件,每个文件都可以相互通信.. 即在其他电影中获取大小和控制对象。它适用于我的 DROID,但我觉得它不适用于苹果。我还没有测试过。我知道您无法加载外部 swf 并让它们使用 Apple 运行代码。所以我听说了。
  • 是的,但是这些 SWF 与您的 APP 捆绑在一起,Baris 指的是从您的沙箱中加载 SWF。
【解决方案2】:

如果您在该行周围放置一个try catch,它不会在失败时抛出错误。这样,当您的代码可以在网络上和作为应用程序运行时。 (应用程序不需要 allowDomain b/c 他们可以默认下载所有内容,这就是失败的原因。)

try {Security.allowDomain("*");}catch (e) { };

【讨论】:

  • 不用担心,我也在思考同样的事情,但我永远无法解决它,因为我无法修改源 swf....呵呵。这是我会应用的解决方案。
【解决方案3】:

根据我的经验,您可以从使用跨域 xml 正确配置的另一个域加载远程 swfs。 类似:https://developers.arcgis.com/flex/guide/using-crossdomain-xml.htm

您可以使用代码加载 swf, 但是如果您尝试访问舞台,例如它将失败。

此外,如果在您的原始项目中(全部托管在 Web 服务器上,您使用了常见的静态变量或单例),它将不会成功。 我的解决方案是在那些接收我需要使用的对象的文件上添加函数。

【讨论】:

    猜你喜欢
    • 2021-07-06
    • 2012-08-22
    • 2012-11-07
    • 2012-06-29
    • 1970-01-01
    • 1970-01-01
    • 2012-06-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多