Flex 与 JavaScript 交互,主要依靠Flex的ExternalInterface,其提供了addCallBack和call方法.
下面的例子将演示Flex调用javascript,和javascript调用Flex
js 代码
- function hello(param) {
- alert(param);
- return "jsp Hello:" + param;
- }
-
- function callFlexFunction() {
- var x = document.getElementById("flexObject").flexHelloWorld("Hello", "world");
- alert(x);
- }
Flex 代码
- <?xml version="1.0" encoding="utf-8"?>
- <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
- initialize="initApp()">
-
- <mx:Script>
- <![CDATA
- import mx.controls.Alert;
-
- public function flexHelloWorld(param1:String, param2:String):String {
- Alert.show("param1: " + param1 + "; param2:" + param2);
- return "Hello " + param1 + param2;
- }
-
- public function initApp():void {
- ExternalInterface.addCallback("flexHelloWorld", flexHelloWorld);
- }
-
- public function jspHello():void {
- var s:String = ExternalInterface.call("hello", "Flex");
- Alert.show(s);
- }
-
- ]]>
- </mx:Script>
-
- <mx:Button x="52" y="58" label="call javascript" click="jspHello()"/>
-
- </mx:Application>
|