【问题标题】:flex air mobile communication with javascript使用 javascript 的 flex air 移动通信
【发布时间】:2013-01-21 06:09:42
【问题描述】:

我有一个教育应用程序,其中包含三个组件,即; android 通信引擎、flex 内容桥和 flash 内容。现在我的任务是用 HTML 内容替换 Flash 内容,HTML 内容将通过 JavaScript 与 flex bridge 通信。我已经尝试这个东西一个多星期了,但没有成功。
甚至有可能在没有任何黑客攻击的空中移动项目(为android编译)中实现这一目标吗?

【问题讨论】:

  • 你试过什么?您应该能够使用 StageWebView 在移动 AIR 应用程序中显示 HTML 内容。我认为您与该内容交流的能力非常有限。
  • 是的,只是显示内容没有问题。从 JavaScript 到 flex,似乎没有办法调用函数,也没有参数。虽然有点骇人听闻的方式让我很开心。稍后会发布答案。
  • 我也遇到了同样的问题,你可以在这里找到一个不错的 hack:sean.voisen.org/blog/2010/10/making-the-most-of-stagewebview,但我希望有更好的方法来解决这个问题

标签: javascript html apache-flex module externalinterface


【解决方案1】:

正如 Pieter 所建议的那样,this 对于那些希望通过 Flex 使用 Javascript 进行交流的人来说是一个很好的选择。但由于链接可能会断开,让我在这里稍微解释一下:

在 JavaScript 中

document.location = '$' + 'Data#As#String';

在弹性中

webview.addEventListener( LocationChangeEvent.LOCATION_CHANGING,
handleLocationChanging );

function handleLocationChanging( event:LocationChangeEvent ):void
{
   event.preventDefault();

   //location parameter will have a absolute path of the .html file as a prefix
   var strParameters:Array = (e.location as String).split("$");

   trace(strParameters[1] + "Is the string received from Javascript");
}

【讨论】:

  • 因为仍然没有更好的解决方案,我怀疑会有一个,这个答案正在获得赏金
【解决方案2】:

我使用 Sockets 解决了我的(类似)问题,现在我有一个 java 服务器,可以调用我的 air 应用程序中的函数(用于自动化测试目的) 我想你也可以像这样解决你的问题。 如果需要,我可以发布一个小例子

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-06
    相关资源
    最近更新 更多