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

flex与js交互浅析

发布时间:2020-12-15 03:57:08 所属栏目:百科 来源:网络整理
导读:1.flex调用js方法 调用方法例如:ExternalInterface.call("UploadComplete",oldName,uidName,_dir+"/"+uidName+type); 第一个是js方法名,后面几个是给这个js方法传的参数。这个方法必须在网页的js中注册,否则会调用失败。 需要注意的是调用之前需要检查网

1.flex调用js方法

调用方法例如:ExternalInterface.call("UploadComplete",oldName,uidName,_dir+"/"+uidName+type);

第一个是js方法名,后面几个是给这个js方法传的参数。这个方法必须在网页的js中注册,否则会调用失败。

需要注意的是调用之前需要检查网页的js是否已完成加载,用ExternalInterface.available可是判断。

注:这种调用方法是可以有返回值的,例如:var m:String = ExternalInterface.call(f,"New Title");

???? ?但是这个返回值不能有时延(例如js需要进行ajax操作),否则m=null。因为flex是异步的。

<mx:Script>
<?xml?version="1.0"?encoding="iso-8859-1"?>
<mx:Application?xmlns:mx="http://www.adobe.com/2006/mxml">
????<mx:Script>
????????import?flash.external.*;
????
????????public?function?callWrapper():void?{
????????????var?f:String?=?"changeDocumentTitle";
????????????var?m:String?=?ExternalInterface.call(f,"New?Title");
????????????trace(m);
????????}
????</mx:Script>
????<mx:Button?label="Change?Document?Title"?click="callWrapper()"/>
</mx:Application>
Html页面中有如下函数定义:
<SCRIPT?LANGUAGE="JavaScript">
????function?changeDocumentTitle(a)?{
????????window.document.title=a;
????????return?"successful";
????}
</SCRIPT>

2.js调用flex方法?

js要调用flex方法,首先在flex中必须注册,将as方法注册为js可调用的方法。例如:ExternalInterface.addCallback("ConfirmGroup",ConfirmGroup);

第一个是js中调用时用的名称,第二个是as中定义的方法。

在ie浏览器中调用方法为:?document.getElementById("mapContent").ConfirmGroup(1);?

mapContent为flash的id。

?注:它也是可以有返回值的。

示例:

AS:

<mx:Script>
????import?flash.external.*;
????public?function?myFunc():Number?{
????????return?42;
????}
????public?function?initApp():void?{
????????ExternalInterface.addCallback("myFlexFunction",myFunc);
????}
</mx:Script>

JS:

<SCRIPT?language='JavaScript'?charset='utf-8'>
????function?callApp()?{
????????var?x?=?MyFlexApp.myFlexFunction();
????????alert(x);
????}
</SCRIPT>
<button?onclick="callApp()">Call?App</button>

(编辑:李大同)

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

    推荐文章
      热点阅读