网上看了很多的关于JS和AS的教程,写的都玄乎乎,让一帮新人摸不着头脑。
鉴于此,打算自己写一个简化的教程。
重点:
ExternalInterface.addCallback("js_func",as_func);
ExternalInterface.call("js_func");
第一句话的意思是:将Flex方面的AS函数(as_func)暴露出去,使用的时候通过 Flash对象.js_func
进行访问。
第二句话的意思是:在Flex方面,调用Flash对象所在页面(html)中的JS方法(js_func)
简单示例如下:
AS:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="makeOut()">
<fx:Script>
<![CDATA[
public function makeOut():void{
ExternalInterface.addCallback("asDo",asDo);
ExternalInterface.call("jsDo");
}
public function asDo(){
Alert.show("AS 干活啦!");
}
]]>
</fx:Script>
</s:Application>
JS:
<script type="text/javascript">
function jsDo(){
alert("JS先干活");
var obj=getFlashObject();
obj. asDo();
}
</script>