AIR中HTML页面调用AS方法
<p>在Flex的Application中,我们可以通过ExternalInterface方便的在ActionScript和页面的JavaScript进行通信。但是如果是在AIR中嵌入一个HTML页面,让HTML页面中的JavaScript去调用AIR中的ActionScript方法要如何实现呢?下面的可以帮助你。</p><div style="page-break-after: always;"><span style="display: none;"><!--more-->& nbsp ;</span></div><p>﹤mx:WindowedApplication creationComplete="init()"﹥</p><p>﹤mx:Script﹥
﹤![CDATA[
import mx.controls.Alert;
private function doLoaded():void
{
html1.htmlLoader.window.abc = abc;
}
public function abc(str:String):void
{
Alert.show(str);
}
]]﹥
﹤/mx:Script﹥</p><p>﹤mx:HTML id="html1" location="test.html" complete="doLoaded();"/﹥</p><p>﹤/mx:WindowedApplication﹥</p><p> 通过上面的代码,我们就可以向嵌入的HTML页面推入一个JS方法"abc()",HTML页面中有一个Button,当我们点击Button,直接调用推入的JS方法abc()。</p><p>嵌入的HTML页面的代码:</p><p>﹤html﹥
﹤body﹥
﹤input type="Button" value="Button" onclick="abc('Hello from JavaScript!!!')"/﹥
﹤/body﹥
﹤/html﹥</p><p> 当点击了HTML页面中的Button,推入HTML中的JS方法abc()成功调用了AS方法。</p>