任何事件都在窗口化应用程序的mx:html容器中调用Flex4函数

时间:2012-03-07 09:23:23

标签: flex air flex4 externalinterface

我正在使用Flex 4窗口应用程序。我有一个mx:HTML容器,其位置属性如http://bla.com/ abc.html 。那个 abc.html 有一个html按钮,我希望当点击那个html按钮时,应该调用一个flex窗口应用程序函数。我该怎么做才能引导。

虚拟Flex 4窗口应用程序屏幕截图:http://i41.tinypic.com/2u8kuxk.jpg

1 个答案:

答案 0 :(得分:1)

尝试从javascript访问flex。

http://blog.everythingflex.com/2008/02/25/air-actionscript-javascript-bridge/

<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script language="javascript" type="text/javascript">
    <!--
        function addBlu(a, b) { return (a+b); }
    -->
</script>
</head>
</html>

使用我糟糕的AS3代码:

import flash.html.HTMLLoader;
import flash.net.URLRequest;
import flash.events.Event;

var html:HTMLLoader = new HTMLLoader();
html.load(new URLRequest("callJS.html"));
html.width = 0;
html.height = 0;
html.addEventListener(Event.COMPLETE, onLoaded);

addChild(html);

function onLoaded(e:Event) :void
{
  trace("result (4+8) : "+e.target.window.addBlu(4, 8));
}