一、在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的函数名,后面的参数是JavaScript需要的参数。
举个例子说明如何调用JavaScript函数
Flex应用中,添加如下方法:
<mx:Script>
<?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>
分享到:
相关推荐
TextShadowEffect:使用Javascipt30练习Javascript
webview与javascript交互, oc 调用 javascipt 中的 函数 获取网页信息,也可截取 网页的某个动作 来做自己的处理 。并解决 过程中 因中文 遇到的 编码问题。
javascript-enligbtenment javascipt授权
用delphi代码调用javascript中的代码 大家也可以直接去万一博客去下载
推荐对所有JavaScript与ActionScript之间的通信使用ExternalInterface。 在HTML页中使用JavaScript,可以调用FlashPlayer中的ActionScript函数。ActionScript函数可以返回一个值,JavaScript会立即接收它作为该调用...
这是英文原版教程,对基于Prototype 和 Scripttaculous 的开发项目有益
With this digital Early Release edition of Programming JavaScript Applications, you get the entire book bundle in its earliest form—the author's raw and unedited content—so you can take advantage of...
Beginning Functional JavaScript: Functional Programming with JavaScript Using EcmaScript 6 by Anto Aravinth English | 26 Mar. 2017 | ISBN: 1484226550 | 160 Pages | PDF | 3.16 MB Learn functional ...
第二步:在 JavaScript 中实现公式 第 3 步:创建角色 第四步:将 JavaScipt 与 HTML 集成 研讨会#2:百分比和折扣 第一步:定义公式 第二步:在 JavaScript 中实现公式 第 3 步:创建角色 第四步:将 JavaScipt 与 ...
javascript基础教程:JavaScipt基本教程的 JavaScript语言的基础
数组乱序 javascript
gwt-esri ESRI Javascipt API 的 GWT 包装器 目前能够在 esri js api 的 3.4 上运行。 旧版本的代码仍然可以在这里找到: : 看起来谷歌代码要睡觉了。 现在可以在 Github 上找到 Javadocs
JavaScript外文文献与翻译.pdfJavaScript外文文献与翻译.pdfJavaScript外文文献与翻译.pdfJavaScript外文文献与翻译.pdfJavaScript外文文献与翻译.pdfJavaScript外文文献与翻译.pdf
html转javascipthtml转javascipthtml转javascipthtml转javascipt
一个用于与Google DFP进行交互的JavaScipt库。 介绍 AdManager是一个JavaScript库,用于与和进行交互。 它处理GPT库的加载以及广告资源的定义和请求。 您可以在下面找到有关其配置和用法的文档。 安装 凉亭 使用...
个人收集的javascript小实例源码,对学习javascript或做网站的朋友应该有用!
javascript中文经典帮助手册,对网页开发和JSP开发有很大的帮助
javascript Tree
轻松学用JAVASCIPT编程 轻松学用JAVASCIPT编程 轻松学用JAVASCIPT编程 轻松学用JAVASCIPT编程 (教程) (教程)
JavaScript示例大全,JavaScript,JavaScript示例