文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Flex与JavaScript交互

Flex与JavaScript交互

时间:2010-09-03  来源:Asharp

     ExternalInterface 实现 JavaScript 与 ActionScript 之间的所有通信,ExternalInterface 类是外部 API,这是一个在 ActionScript 和 Flash Player 容器之间实现直接通信的应用程序编程接口。在 Flash Player 中,可以使用 HTML 页中的 JavaScript 来调用 ActionScript 函数。ActionScript 函数可以返回一个值,JavaScript 会立即接收它作为该调用的返回值。

     利用ActionScript,使用call方法,可以在HTMl页上执行以下操作:

  • 调用任何 JavaScript 函数。
  • 传递任意数量、具有任意名称的参数。
  • 传递各种数据类型(Boolean、Number、String 等等)。
  • 接收来自 JavaScript 函数的返回值。

    通过在 HTML 页上使用 JavaScript,使用addCallback方法,可以:

  • 调用 ActionScript 函数。
  • 使用标准的函数调用表示法传递参数。
  • 将值返回给 JavaScript 函数。

注意:在将 SWF 文件嵌入到 HTML 页中时,请确保 object 和 embed 标签的 id 和 name 属性不包含以下字符: . - + * / \

 

简单示例:

 1:  <script language="JavaScript" type="text/javascript">
 2:  function callFlexFunction() {   
 3:      var x = document.getElementById("JavaScriptTest").flexTest("string from js.");   
 4:      alert(x);   
 5:  }
 6:   
 7:  function jsTest(param) {   
 8:      alert(param);   
 9:      return "Return from js:" + param;   
10:  }  
11:  </script>

 

 1:  <?xml version="1.0" encoding="utf-8"?>
 2:  <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="intiApp()"
 3:       width="400" height="200">
 4:      <mx:Script>
 5:          <![CDATA[
 6:              import mx.controls.Alert;
 7:   
 8:              public function flexTest(param:String):String
 9:              {
10:                  Alert.show("Input param:"+param);
11:                  return "Return from Flex:"+param;
12:              }
13:   
14:              public function intiApp():void
15:              {
16:                  ExternalInterface.addCallback("flexTest", flexTest);  
17:              }
18:   
19:              public function callJS():void {   
20:                  var s:String = ExternalInterface.call("jsTest", "Flex");   
21:                  Alert.show(s);   
22:              }   
23:          ]]>
24:      </mx:Script>
25:      
26:      <mx:Button x="52" y="58" label="call javascript" click="callJS()"/>
27:  </mx:Application>
28:  

点击页面按钮:

点击Flash内按钮

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载