`

js和flex的相互调用

 
阅读更多

http://www.jonllen.com/jonllen/flex/flex-js.aspx

一、在JavaScript中调用Flex方法

在Flex中可以用ExternalInterface来调用Flex的方法,途径是通过在Flex应用可调用方法列表中添加指定的公用方法。在Flex 应用中通过调用addCallback()可以把一个方法添加到此列表中。addCallback将一个ActionScript的方法注册为一个 JavaScript和VBScript可以调用的方法。addCallback()函数的定义为:addCallback(function_name:String, closure:Function):void,function_name参数就是在Html页面中脚本调用的方法名。closure参数是要调用的本地方法,这个参数可以是一个方法也可以是对象实例。

举个例子:


<mx:Script>    import flash.external.*;    public function myFunc():Number {        return 42;    }    public function initApp():void {        ExternalInterface.addCallback("myFlexFunction",myFunc);    }</mx:Script>
那么在Html页面中,先获得SWF对象的引用,也就是用<object .../>声明的Swf的Id属性,比如说是MyFlexApp。然后就可以用以下方式调用Flex中的方法。

<SCRIPT language='JavaScript' charset='utf-8'>    function callApp() {        var x = MyFlexApp.myFlexFunction();        alert(x);    }</SCRIPT><button onclick="callApp()">Call App</button>二、在Flex中调用 JavaScript

你可以调用Html页面中的JavaScript,通过与JavaScript的交互,可以改变Style,调用远程方法。还可以将数据传递给Html页 面,处理后再返回给Flex,完成这样的功能主要有两种方法:ExternalInterface()和navigateToUrl()。在Flex中调用JavaScript最简单的方法是使用ExternalInterface(),可以使用此API调用任意JavaScript,传递参数,获得返回值,如果调用失败,Flex抛出一个异常。ExternalInterface封装了对浏览器支持的检查,可以用available属性来查看。ExternalInterface的使用非常简单,语法为:flash.external.ExternalInterface.call(function_name: String[, arg1, ...]):Object;参数function_name是要调用的JavaScript的函数名,当然也可以为function (){alert(0)}匿名函数对象,后面的参数是JavaScript需要的参数。

Flex应用中,添加如下方法:

<?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>
分享到:
评论

相关推荐

    flex—JS相互调用

    本文将详细介绍如何实现Flex与JavaScript之间的相互调用,包括具体的代码示例和配置步骤。 #### 二、Flex调用JavaScript 在Flex中调用JavaScript主要依赖于`ExternalInterface`类,这是一个静态类,提供了调用外部...

    Flex和JS的相互调用,传参

    标题中的"Flex和JS的相互调用,传参"指的是在Flex应用中调用JavaScript函数,或者在JavaScript中调用Flex组件的方法,并传递参数。这种互操作性是通过Adobe提供的`ExternalInterface`类实现的,它允许Flex和...

    flex 与JS方法的相互调用

    flex 与JS间的相互调用和参数传递,简单可运行实例

    flex与JS实现互相调用

    本篇将详细探讨“flex与JS实现互相调用”的相关知识点。 一、Flex与JavaScript的互操作性 Flex是Adobe开发的一个用于构建富互联网应用(RIA)的框架,基于ActionScript 3.0,提供了强大的图形和动画功能。...

    Flex4.5 与js,ocx相互调用

    压缩包中的 "Flex-js-activex-相互调用自己做的实例" 文件很可能是包含了一个实际应用示例,展示了如何实现 Flex 4.5 与 JavaScript 和 OCX 控件的交互。这个实例可能包括一个 Flex 项目,其中定义了与 JS 交互的...

    flex&flash相互调用

    两者都基于Adobe Flash Player运行,因此在某些场景下,它们可以互相调用功能或共享数据。 1. **Flex调用Flash**: 当Flex应用程序需要利用Flash的高级图形或动画能力时,可以使用SWFObject库将Flash内容嵌入到...

    Flex与Javascript相互调用例子(附源码)

    标题 "Flex与Javascript相互调用例子(附源码)" 指涉的是一个技术主题,主要探讨了如何在Adobe Flex应用程序中与JavaScript进行交互。Flex是基于ActionScript 3.0的开源框架,用于构建富互联网应用(RIA),而...

    Flex ActiveX通过JS相互调用.rar

    Flex ActiveX 通过JS相互调用是一个常见的技术实践,尤其在需要在Web环境中结合Adobe Flex(一种基于ActionScript的富互联网应用开发框架)与ActiveX控件(主要在Internet Explorer中运行的Windows平台专有技术)...

    Flex与Flash相互调用实例

    Flex和Flash是两种在Web开发中广泛使用的技术,它们各自有着独特的优势,但在某些场景下,需要它们相互协作,实现更复杂的功能。本教程通过一个实际的调用实例,展示了Flex与Flash如何相互通信。 Flex是基于...

    flex与js交互2

    本文将详细介绍如何使用ExternalInterface接口实现Flex与JavaScript之间的相互调用,并给出具体的示例代码。 #### 二、Flex调用JavaScript方法 在Flex中调用JavaScript是一种常见的需求,这使得Flex能够利用网页中...

    flex与js交互 关于ExternalInterface使用的小例子

    Flex与JavaScript的交互主要依赖于ExternalInterface,它使得ActionScript和JavaScript能够互相调用对方的函数,实现数据交换。这个过程涉及了函数注册、调用以及跨域和兼容性的处理。通过这样的交互,开发者可以...

    flex和javascript交互

    ### Flex与JavaScript交互详解 #### 一、在JavaScript中调用Flex方法 ...以上所述的方法使得Flex和JavaScript能够有效地相互调用,从而实现更复杂的交互式功能。这对于开发具有丰富交互性的Web应用程序是非常有用的。

    as与js方法的相互调用

    本文将详细探讨如何通过Adobe Flex的`ExternalInterface`类实现AS与JS的相互调用。 首先,让我们了解`ExternalInterface`类。它是ActionScript 3中提供的一种接口,允许Flex应用程序与包含它的HTML页面进行通信。这...

    js调用Flex中的方法并向flex中传参及flex调用js示例

    在本文中,我们学习了如何通过Flash Player的ExternalInterface类来实现Flex与JavaScript之间的相互调用和数据传递。包括在Flex应用中暴露函数给JavaScript、在JavaScript中调用Flex方法、向Flex传参,以及如何处理...

    flex和页面js通信1

    总结来说,Flex与JavaScript之间的通信依赖于`ExternalInterface`,它提供了调用JavaScript函数和注册可被JavaScript调用的Flex方法的能力。这种通信方式使得两种技术能够协同工作,为开发者提供更丰富的用户交互...

    在MFC嵌入Flex并且相互通信

    在MFC端,可以通过IE浏览器控件的接口调用JavaScript方法,从而传递数据和控制Flex应用的行为。 6. **数据交换**:MFC可以通过调用Flex的ExternalInterface函数,传递数据到Flex,比如设置UI状态或更新业务数据。...

    Flash flex与JS通信

    描述中提到的"flex与Js 通信 相互调用"是指在Flex应用中可以调用JavaScript函数,同时JavaScript也可以调用Flex应用内的方法。这是一个双向的交互过程。例如,你可能需要在Flex应用中获取用户在HTML表单中的输入,...

    Flex与JavaScript的相互通信(真情贡献)

    综上所述,Flex与JavaScript的相互通信是一个强大而实用的技术,它结合了Flex的富媒体表现力和JavaScript的灵活性,为Web应用带来了更多可能性。通过深入理解并实践“FlexAndJavaScriptRun”压缩包中的示例,开发者...

Global site tag (gtag.js) - Google Analytics