`
huanyq2008
  • 浏览: 171566 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

FLEX与JS的相互调用

    博客分类:
  • Flex
阅读更多

一、在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>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与JS相互调用详解 #### 一、引言 在混合应用开发中,不同技术栈之间的相互调用是一个常见的需求。例如,在基于Flash的Flex应用中集成JavaScript功能,可以充分利用JavaScript的强大处理能力和Flex丰富的...

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

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

    flex和js互相调用

    总的来说,Flex和JavaScript的互相调用机制使得富互联网应用能灵活地与浏览器环境交互,实现复杂的用户交互和数据交换。对于Flex开发者来说,理解和掌握这种通信方式是必不可少的技能。需要注意的是,虽然本文示例仅...

    flex与JS实现互相调用

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

    Flex和JS的相互调用,传参

    在实际项目中,`FlexJs调用`可能涉及到的问题包括跨域安全、参数验证、错误处理等。确保正确设置Flash Player的安全策略,使用适当的错误处理机制,以及优化性能,都是确保Flex和JavaScript协同工作的重要环节。 ...

    flex 与JS方法的相互调用

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

    Flex与Flash相互调用实例

    本教程通过一个实际的调用实例,展示了Flex与Flash如何相互通信。 Flex是基于ActionScript 3.0的开源框架,主要用于构建富互联网应用程序(RIA)。它提供了MXML和ActionScript语言来创建用户界面,具有强大的组件库...

    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与js交互2

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

    Flex ActiveX通过JS相互调用.rar

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

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

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

    Flash flex与JS通信

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

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

    这是Flex与JavaScript相互通信的核心接口。 6. **Flex调用JavaScript**: 在Flex中,可以通过`ExternalInterface.call()`方法调用JavaScript函数,参数为JavaScript函数名和传递的参数。 7. **JavaScript调用Flex...

    Flex3与javascript相互交互验证

    Flex3与JavaScript之间的交互验证是Web开发中的一个重要概念,它允许Adobe Flex应用程序(基于ActionScript 3)与网页上的JavaScript代码进行通信。这种交互性极大地增强了富互联网应用(RIA)的功能,使得Flex组件...

    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示例

    本文将详细讲解如何使用JavaScript(简称js)调用Adobe Flex中的方法,并实现向Flex组件传入参数,同时也将介绍如何实现Flex调用JavaScript函数。在给出示例之前,需要了解几个关键概念:Flex是一个用于构建富互联网...

    flex和页面js通信1

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

Global site tag (gtag.js) - Google Analytics