准确的来说应该是AS3与JavaScript之间的通讯,其通讯的机理就是:ExternalInterface,具体的使用方法在Flex或Flash的使用帮助里都有详细的说明。
JavaScript发送变量到AS:
Flex:
ExternalInterface.addCallback(”setBoxArea”,receivedFromJavaScript);
private function receivedFromJavaScript(value:String):void { Alert.show(value); }
HTML:
function setBox(o) { thisMovie(”lc”).setBoxArea(”hello”); }
AS发送变量到JavaScript:
Flex:
var wrapperFunction:String = “getChartData”; var o:Object = new Object(); o.chartType = “line”; o.yField = yFieldCB.selectedItem; s = ExternalInterface.call(wrapperFunction,o); Alert.show(s);
HTML:
function getChartData(o) { alert(o); return o.chartType+o.yField; }
BTW:再说个AIR的题外话,AIR能做到的,或许远超过你的想象力,看看这位仁兄,把AIR+音频分解+硬件结合起来做,真是酷毙了。 |