【问题标题】:How do I communicate between Javascript and Flex?我如何在 Javascript 和 Flex 之间进行通信?
【发布时间】:2012-02-20 15:28:15
【问题描述】:

我有一个窗口 Flex 应用程序(AIR),它使用 HTML 文件作为 UI,但我有一些 Flex 代码需要在页面加载时执行。

我已使用 标签 将 HTML 界面导入应用程序。 http://livedocs.adobe.com/flex/3/html/help.html?content=passingarguments_5.html 的 Adob​​e 帮助显示了一种在 javascript 和 flex 之间进行通信的方法,但前提是您在浏览器中使用外部 HTML 文件,而不是在窗口应用程序中。

所以我的问题是:如何从 javascript 调用 flex 方法,该方法将在窗口/AIR 应用程序中返回数据?

任何帮助将不胜感激,因为我是 flex/flash 的新手。

【问题讨论】:

    标签: javascript html flash apache-flex air


    【解决方案1】:

    您需要查看的是 HTMLLoader 类的文档,例如 http://help.adobe.com/en_US/as3/dev/WS5b3ccc516d4fbf351e63e3d118666ade46-7ed4.html

    【讨论】:

    • 最终的解决方案有点繁琐,但是在这个链接上找到了它的基础,所以我将它标记为已回答。谢谢。
    【解决方案2】:

    它也应该在窗口应用程序中工作。使用外部接口

    Flex -> js

    ExternalInterface.call("jsFunction", {par:value});
    

    js -> 弹性

    flashObject = document.getElementById(flashid);
    
    if( flashObject ) {
        flashObject.flexMethod("par");
    } else {
        alert('Error! could not get flash object');
    }
    

    http://livedocs.adobe.com/flex/3/html/help.html?content=passingarguments_4.html

    【讨论】:

    • 投反对票,因为显然 WindowedApplication 不能嵌入到 HTML 页面中,因此显然不能调用 ExternalInterface,如原始海报所述。
    • 好的,抱歉,不清楚“窗口应用程序”这个术语 - 认为它可能是 iframe 之类的东西:/ !!!
    猜你喜欢
    • 2010-12-12
    • 1970-01-01
    • 2013-10-04
    • 2015-06-04
    • 2021-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多