一、在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相互调用详解 #### 一、引言 在混合应用开发中,不同技术栈之间的相互调用是一个常见的需求。例如,在基于Flash的Flex应用中集成JavaScript功能,可以充分利用JavaScript的强大处理能力和Flex丰富的...
标题 "Flex与Javascript相互调用例子(附源码)" 指涉的是一个技术主题,主要探讨了如何在Adobe Flex应用程序中与JavaScript进行交互。Flex是基于ActionScript 3.0的开源框架,用于构建富互联网应用(RIA),而...
总的来说,Flex和JavaScript的互相调用机制使得富互联网应用能灵活地与浏览器环境交互,实现复杂的用户交互和数据交换。对于Flex开发者来说,理解和掌握这种通信方式是必不可少的技能。需要注意的是,虽然本文示例仅...
本篇将详细探讨“flex与JS实现互相调用”的相关知识点。 一、Flex与JavaScript的互操作性 Flex是Adobe开发的一个用于构建富互联网应用(RIA)的框架,基于ActionScript 3.0,提供了强大的图形和动画功能。...
在实际项目中,`FlexJs调用`可能涉及到的问题包括跨域安全、参数验证、错误处理等。确保正确设置Flash Player的安全策略,使用适当的错误处理机制,以及优化性能,都是确保Flex和JavaScript协同工作的重要环节。 ...
flex 与JS间的相互调用和参数传递,简单可运行实例
本教程通过一个实际的调用实例,展示了Flex与Flash如何相互通信。 Flex是基于ActionScript 3.0的开源框架,主要用于构建富互联网应用程序(RIA)。它提供了MXML和ActionScript语言来创建用户界面,具有强大的组件库...
压缩包中的 "Flex-js-activex-相互调用自己做的实例" 文件很可能是包含了一个实际应用示例,展示了如何实现 Flex 4.5 与 JavaScript 和 OCX 控件的交互。这个实例可能包括一个 Flex 项目,其中定义了与 JS 交互的...
两者都基于Adobe Flash Player运行,因此在某些场景下,它们可以互相调用功能或共享数据。 1. **Flex调用Flash**: 当Flex应用程序需要利用Flash的高级图形或动画能力时,可以使用SWFObject库将Flash内容嵌入到...
本文将详细介绍如何使用ExternalInterface接口实现Flex与JavaScript之间的相互调用,并给出具体的示例代码。 #### 二、Flex调用JavaScript方法 在Flex中调用JavaScript是一种常见的需求,这使得Flex能够利用网页中...
Flex ActiveX 通过JS相互调用是一个常见的技术实践,尤其在需要在Web环境中结合Adobe Flex(一种基于ActionScript的富互联网应用开发框架)与ActiveX控件(主要在Internet Explorer中运行的Windows平台专有技术)...
Flex与JavaScript的交互主要依赖于ExternalInterface,它使得ActionScript和JavaScript能够互相调用对方的函数,实现数据交换。这个过程涉及了函数注册、调用以及跨域和兼容性的处理。通过这样的交互,开发者可以...
描述中提到的"flex与Js 通信 相互调用"是指在Flex应用中可以调用JavaScript函数,同时JavaScript也可以调用Flex应用内的方法。这是一个双向的交互过程。例如,你可能需要在Flex应用中获取用户在HTML表单中的输入,...
这是Flex与JavaScript相互通信的核心接口。 6. **Flex调用JavaScript**: 在Flex中,可以通过`ExternalInterface.call()`方法调用JavaScript函数,参数为JavaScript函数名和传递的参数。 7. **JavaScript调用Flex...
Flex3与JavaScript之间的交互验证是Web开发中的一个重要概念,它允许Adobe Flex应用程序(基于ActionScript 3)与网页上的JavaScript代码进行通信。这种交互性极大地增强了富互联网应用(RIA)的功能,使得Flex组件...
### Flex与JavaScript交互详解 #### 一、在JavaScript中调用Flex方法 ...以上所述的方法使得Flex和JavaScript能够有效地相互调用,从而实现更复杂的交互式功能。这对于开发具有丰富交互性的Web应用程序是非常有用的。
本文将详细探讨如何通过Adobe Flex的`ExternalInterface`类实现AS与JS的相互调用。 首先,让我们了解`ExternalInterface`类。它是ActionScript 3中提供的一种接口,允许Flex应用程序与包含它的HTML页面进行通信。这...
本文将详细讲解如何使用JavaScript(简称js)调用Adobe Flex中的方法,并实现向Flex组件传入参数,同时也将介绍如何实现Flex调用JavaScript函数。在给出示例之前,需要了解几个关键概念:Flex是一个用于构建富互联网...
总结来说,Flex与JavaScript之间的通信依赖于`ExternalInterface`,它提供了调用JavaScript函数和注册可被JavaScript调用的Flex方法的能力。这种通信方式使得两种技术能够协同工作,为开发者提供更丰富的用户交互...