加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flex与JavaScript交互

发布时间:2020-12-15 01:15:28 所属栏目:百科 来源:网络整理
导读:?http://www.cnblogs.com/zhaozhan/archive/2010/09/03/1816631.html ExternalInterface 实现 JavaScript 与 ActionScript 之间的所有通信,ExternalInterface 类是外部 API,这是一个在 ActionScript 和 Flash Player 容器之间实现直接通信的应用程序编程接

?http://www.cnblogs.com/zhaozhan/archive/2010/09/03/1816631.html

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 页中时,请确保 objectembed 标签的 idname 属性不包含以下字符: . - + * /

?

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>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读