关键字:ExternalInterface
所用类库:SWFObject
/**
* Flex调用Javascript函数
* @params functionName:String Javascript函数名称
* @params ...params Javascript函数参数
* @return 返回Javascript函数的return内容
**/
ExternalInterface.call(functionName:String, ...params);
----------------------------------------------------------------------
/**
* Javascript调用Flex函数
* @params functionName:String Javascript调用Flex函数名
* @params closure:Function Flex将要调用的函数
* @return void
**/
ExternalInterface.addCallback(functionName:String,closure:Function);
-----------------------------------------------------------------------
HTML内嵌swf文件,可用swfobject.embedSWF()来内嵌。javascript调用Flex的函数,必须要获得swf的ID,
可通过document.getElementById(),也可以使用swfobject.getObjectById();
--------------------------------------------
SWFObject使用补充:
swfobject.embedSWF()
swfobject.getObjectById("swfID")
swfobject.removeSWF("swfID")
一.swfobject.embedSWF:
内嵌swf文件,这个函数的参数比较多swfobject.embedSWF(swfUrl, id, width, height, version,expressInstallSwfurl, flashvars,params, attributes),各个参数具体功能如下:
swfUrl(String,必须的)指定SWF的URL。
id(String,必须的)指定将会被Flash内容替换的HTML元素(包含你的替换内容)的id。
width(String,必须的)指定SWF的宽。
height(String,必须的)指定SWF的高。
version(String,必须的)指定你发布的SWF对应的Flash Player版本(格式为:major.minor.release)。
expressInstallSwfurl(String,可选的)指定express install SWF的URL并激活Adobe express install。
flashvars(String,可选的)用name:value对指定你的flashvars。
params(String,可选的)用name:value对指定你的嵌套 object元素的params。
attributes(String,可选的)用name:value对指定object的属性。
注意 :在不破坏参数顺序的情况下,你可以忽略可选参数。如果你不想使用一个可选参数,但是会使用后面的一个可选参数,你可以简单的传入false作为参数的值。对flashvars、params和 attributes这些JavaScript对象来说,你也可以相应的传入一个空对象{}。
二.swfobject.getObjectById("swfId")
通过swfid获得swf对象,通过该对象可调用flex函数。
三.swfobject.removeSWF("swfId")
通过swfId删除swf。
注意 :删除swf这里需要提醒下,因为embedSWF是替换标签,而不是填充。比如上面的例子<div id="myPanel">Flex content</div>,如果执行了swfobject.removeSWF后,想重新添加SWF必须要重新创建<div id="myPanel">或者更改embedSWF的第二个参数更改替换新的标签ID。因为在这里SWF替换了调了<div>
-----------------------------------------------------------------------

Flex-AJAX Bridge:重要点(当然FLEX项目中要右击--->create Ajax Bridge...会自动引入FABridge)

网页引入:

(1)<script type="text/javascript" src="fabridge/javascript/FABridge.js"></script>

<script type="text/javascript" src="fabridge/swfobject/swfobject.js"></script>

(2)写脚本插入生成的swf:

<script type="text/javascript">

  var flashvars={};

  flashvars.bridgeName="example";

  var params={};//如:params.allowFullScreen="true";params.allowScriptAccess="always";等等在这里写,

  var attributes={};

  attributes.id="flexApp";

  attributes.name="flexApp";

  swfobject.embedSWF("app.swf","flashcontent","400","400","9.0.124","",flashvars,params,attributes);

</script>

(3)通过FABridge使Flex与脚本交互:

var flexApp=FABridge.example.root();//得到了Flex应用程序,通过它可以操作Flex中的控件。

---------FLEX以下为列----------

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*" height="400" viewSourceURL="srcview/index.html">

<mx:Script>
  <![CDATA[   import mx.controls.Alert;
   import mx.controls.*;
   public function testFunc(val1:String = "defaultParam" ):void
            {
    Alert.show(val1, "called remotely");
   }

]]>
 </mx:Script>

<mx:Panel width="100%" height="100%" id="panel" paddingLeft="20" paddingTop="20" >
  <mx:Text width="100%" height="16">
   <mx:text>
    Refer to the controls below, via javascript, as slider(), check(), and button() respectively
   </mx:text>
  </mx:Text>
  <mx:CheckBox x="49" y="34" label="Checkbox" id="check"/>
  <mx:HSlider snapInterval=".01" id="slider" liveDragging="true"/>
  <mx:Button id="button" label="generic button" />
 </mx:Panel>

<fab:FABridge xmlns:fab="bridge.*" />

</mx:Application>

------------end---------------

1.var currentCheckValue=flexApp.getCheck().getSelected();//获得FLex中的id为check的控件的selected属性:(看这式子的写法)

2.var callback=function(){alert("Hello world!");}

flexApp.getButton().addEventListener("click",callback);//这个例子是给ID为button的控件的click加入一个事件处理函数

3.var buttonSam=FABridge.example.create("mx.controls.Button");//在flex应用程序中创建一个按钮

4.flexApp.testFunc("Hello,World!");//调用flex应用程序中的函数,传入参数。

------------------大体上就是这样,在获取得到FLEX中的控件后,可像在flex中一样处理它---------------

我的新浪微博

转载于:https://www.cnblogs.com/CHENG-YE/archive/2010/05/27/1744911.html

Flex Javascript 交互实现代码相关推荐

  1. Flex 与 JavaScript 交互

    Flex 与 JavaScript 交互,主要依靠Flex的ExternalInterface,其提供了addCallBack和call方法. 下面的例子将演示Flex调用javascript,和ja ...

  2. [原]flash研究(三)——Falsh与JavaScript交互

    一.getURL方法在flash中可以用getURL方法来调用JS中的函数. 例: GetURL_btn.onRelease=function(){     getURL("javascri ...

  3. Android与Javascript交互示例(二)

    MainActivity如下: package cn.testjavascript; import android.os.Bundle; import android.view.View; impor ...

  4. 一步一步学Silverlight 2系列(22):在Silverlight中如何用JavaScript调用.NET代码_转载...

    概述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, ...

  5. 一步一步学Silverlight 2系列(22):在Silverlight中如何用JavaScript调用.NET代码

    概述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, ...

  6. 安卓开发笔记(二十二):读取本地(内置)html文件并实现和Javascript交互

    实际上我们通常是使用WebView控件对本地html进行读取,这样就可以体会类似web app和安卓原生混合开发的乐趣了.在读取本地html并展示在前台的时候,并不需要在Androidmenifast ...

  7. qt与js html进行数据传递,QT与javascript交互数据的实现

    一.数据从QT流向JS 1.QT调用JS的函数,JS通过形参获得QT的值 2.JS调用QT的函数,QT函数的返回值进入JS 二.数据从JS流向QT 1.JS调用QT的函数,QT通过形参获得JS的值 2 ...

  8. WebBrowser一点心得,如果在Javascript和Winform代码之间实现双向通信

    最近工作需要,学习了一下winform内嵌webbrowser控件,然后与htm页面中的javascript交互调用的技术,因此有了这篇心得. 总的来说,javascript与winform的code ...

  9. Objective-C与JavaScript交互的那些事

    2019独角兽企业重金招聘Python工程师标准>>> Objective-C与JavaScript交互的那些事 注:此文只现在只推荐需要适配iOS7的同学读,如果已经扔掉iOS7, ...

最新文章

  1. 中大博士分析ICLR 2022投稿趋势:Transformer激增,ViT首进榜单前50,元学习大跌
  2. 《jQuery UI 开发指南》——1.3 什么是CSS主题
  3. MySQL CURDATE() 函数
  4. 当React Native 遇到了Google reCAPTCHA
  5. 【NLP】一文搞懂NLP中的对抗训练
  6. boost::signals2模块实现连接类测试
  7. javascript:可以运行的噪音
  8. 关于包装java_[java初探09]__关于java的包装类
  9. php 字符串与数字相加,注意!PHP中字符串与数字的比较
  10. python datatime 平均值_python求数据的时间平均
  11. [恢]hdu 2040
  12. BUAAOO第二单元总结之电梯问题
  13. mybatis的源码学习
  14. pwdx 查看进程启动时的工作目录
  15. 打印5列五颗星_可打印丨50组“数学顺口溜”+大九九乘法口诀表!给孩子收藏!...
  16. ps6人脸识别液化工具在哪_ps液化工具在哪
  17. Mac系统制作win10启动U盘踩坑实操
  18. 【采用】金融知识图谱技术与银行业应用研究
  19. 几分钟搞定,文件名称中文转英文
  20. 麻省理工学院公开课:计算机科学及编程导论

热门文章

  1. cocos2d游戏jsc文件格式解密,SpideMonkey大冒险
  2. 时间同步服务器(默认)chrony和ntp
  3. Linux之redhat7系统结构
  4. 1021 Deepest Root
  5. 小猿圈Linux学习-Linux种搜索的命令
  6. Linux下的CST和UTC时间的区别
  7. object.ReferenceEquals(a,b)
  8. MySQL服务器的配置教程
  9. KV结构的集合,在处理null值的存储上有细微的区别,下列哪些说法是正确的
  10. 手把手教你 MongoDB 的安装与详细使用(二)