一、在JavaScript中调用Flex方法
在 Flex 应用中,需要在方法列表中添加指定的公用方法,这样Flex中的方法才能被JS调用到。在Flex中需要通过调用addCallback()可以把一个方 法添加到此列表中。 addCallback将一个ActionScript的方法注册为一个JavaScript和VBScript可以调用的方法。
addCallback()函数的定义如下:
addCallback(function_name:String, closure:Function):void
function_name参数就是在Html页面中脚本调用的方法名。closure参数是要调用的本地方法,这个参数可以是一个方法也可以是对象实例。
举个例子:
1.在Flex页面:
<mx:script>
import flash.external.*;
public function myFunc():Number {
return 0;
}
public function initApp():void {
ExternalInterface.addCallback( "myFlexFunction" ,myFunc);
}
</mx:script>
2.那么在Html页面中,先获得SWF对象的引用,也就是<object/>部分:
声明的Swf的Id属性,比如说是MyFlexApp。然后就可以用以下方式调用Flex中的方法。
<script language= "JavaScript" >
function callApp() {
var x = MyFlexApp.myFlexFunction();
alert(x);
}
</script>
< input onclick = "callApp()" value = "Test" type = "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的函数名,后面的参数是JavaScript需要的参数。
举个例子说明如何调用JavaScript函数
1.Flex应用中,添加如下方法:
<mx:script>
<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>
</mx:script>
2.Html页面中有如下函数定义:
<script language= "JavaScript" >
function changeDocumentTitle(a){
window.document.title = a;
return "successful" ;
}
</script>
分享到:
相关推荐
标题"flex和javascript交互例子"指向了这个主题的核心——如何在Flex应用中调用JavaScript函数,以及反过来在JavaScript中调用Flex的方法。这种技术通常被称为“Bridge”或“跨域通信”。 在Flex中,我们可以使用`...
Flex与JavaScript交互是一种常见的技术,它允许在Adobe Flex(基于ActionScript 3的富互联网应用程序框架)和网页中的JavaScript之间进行通信。这种交互性对于构建混合型应用,特别是在需要利用浏览器内核特性的Web...
### Flex与JavaScript交互详解 #### 一、引言 随着Web技术的发展,不同语言之间的通信变得尤为重要。在Flex与HTML的结合中,Flex通常作为富客户端应用,而JavaScript则负责处理网页逻辑。为了实现二者之间的无缝...
### Flex与Ajax交互、Flex与JavaScript交互 #### 一、引言 随着Web技术的发展,Flex作为一种基于Adobe Flash平台的应用开发框架,在企业级应用中曾经非常流行。它提供了丰富的用户界面构建工具,并能够与服务器端...
- Flex与JavaScript交互的背景和意义 - ExternalInterface API的基本使用 - 如何在Flex中设置和调用JavaScript函数 - 如何在JavaScript中调用Flex的方法 - 源码示例的详细解释和步骤 - 示例项目"JsFlexApp"的结构和...
### Flex与JavaScript交互详解 #### 一、在JavaScript中调用Flex方法 在Flex与JavaScript进行交互时,可以通过`ExternalInterface`实现从JavaScript调用Flex中的方法。这主要是通过向Flex应用注册特定的公共方法来...
标题“Flex与html交互 调用本地html”指的是在Flex应用程序中调用并与本地的HTML文件进行通信。这通常涉及到Flash Player或Adobe AIR环境,因为它们允许Flex与本地操作系统进行交互,包括访问本地文件系统。 描述...
Flex与JavaScript交互是Web开发中的一个重要技术,它允许在Adobe Flex应用和HTML页面之间进行数据交换和功能调用。在本示例中,我们将深入探讨如何实现这种交互,并通过具体的步骤来理解其工作原理。 首先,Flex是...
在实现Flex与JavaScript交互时,你需要: 1. 在Flex端,使用`ExternalInterface.addCallback()`方法注册一个可供JavaScript调用的函数。 2. 在JavaScript端,通过Flash对象(通常是`swfObject`)来调用这个注册的...
Flex与JavaScript交互是Web开发中的一个重要技术,它允许在Adobe Flash Player或Adobe AIR环境中运行的Flex应用程序与HTML页面中的JavaScript代码进行通信。这种交互性极大地扩展了富互联网应用(RIA)的功能,使得...
Flex与JavaScript的交互主要依赖于ExternalInterface,它使得ActionScript和JavaScript能够互相调用对方的函数,实现数据交换。这个过程涉及了函数注册、调用以及跨域和兼容性的处理。通过这样的交互,开发者可以...
### JavaScript与Flex交互知识点 #### 一、简介 在Web开发领域中,JavaScript与Flex的交互是一个非常实用且重要的技术组合。Adobe Flex是一种用于构建和部署丰富的互联网应用程序(RIA)的强大框架,它支持多种...
Flex3与JavaScript之间的交互验证是Web开发中的一个重要概念,它允许Adobe Flex应用程序(基于ActionScript 3)与网页上的JavaScript代码进行通信。这种交互性极大地增强了富互联网应用(RIA)的功能,使得Flex组件...
-- Flex与JavaScript交互的元素 --> ()">Call App ``` #### 三、JavaScript调用Flex 在上面的示例中,我们已经展示了如何从Flex中调用JavaScript函数。接下来,我们将介绍如何从JavaScript调用Flex内部的...
1. **跨域策略文件**:由于Flash Player的安全限制,Flex应用在与JavaScript交互前需要加载一个跨域策略文件,允许它与不同源的JavaScript进行通信。这个文件通常命名为crossdomain.xml,放置在服务器的根目录下。 ...
Flex与JavaScript交互是一种常见的技术,尤其在开发富互联网应用程序(RIA)时,它允许Web页面中的Flash内容与HTML页面的JavaScript代码进行通信。这使得在Flex应用中利用JavaScript的功能,如DOM操作、Ajax请求等,...
5. **事件驱动的交互**:除了直接调用函数外,还可以通过事件监听来实现Flex和JavaScript的通信。例如,Flex可以监听JavaScript发出的自定义事件,而JavaScript可以监听Flex组件的事件,如按钮点击等。 6. **数据...
在Flex与JavaScript交互的过程中,主要依赖于`flash.external.ExternalInterface`类,该类提供了一个桥梁,允许ActionScript调用HTML页面中的JavaScript函数以及JavaScript调用ActionScript函数。 #### 二、Flex...
在Flex中,要调用JavaScript函数,首先需要确保Flash Player允许与JavaScript进行交互。这通常在HTML嵌入Flash的代码中设置,例如: ```html ``` 然后,在Flex中,可以通过`ExternalInterface.call`方法来调用...