`
kuiyuexiang
  • 浏览: 55910 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

ActionScript与JavaScript进行交互的方法

    博客分类:
  • flex
阅读更多

 

ActionScript提供了一个外部API,那就是ExternalInterface 类,通过ExternalInterface类可以实现ActionScript Flash Player 容器之间的直接通信。

一、JavaScript中调用ActionScript方法

Flash Player 中,可以使用 HTML 页中的JavaScript来调用 ActionScript 函数。 ActionScript 函数可以返回一个值,JavaScript 会立即接收它作为该调用的返回值。

1.       ActionScript 中调用addCallback()ActionScript 方法注册为可从容器调用。 成功调用 addCallBack() 后,容器中的 JavaScript ActiveX 代码可以调用在 Flash Player 中注册的函数。

addCallBack定义如下:

addCallback(functionName:String, closure:Function):void

functionName参数就是在Html页面中脚本调用的方法名。closure参数是要调用的本地方法,这个参数可以是一个方法也可以是对象实例。

 

<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx=http://www.adobe.com/2006/mxml layout="absolute" initialize="this.initApp()">

        <mx:Script>

           <![CDATA[

               import mx.controls.Alert;

                import flash.external. ExternalInterface;

                public function sayHelloWorld(name:String):String {

                   var msg:String=name+",hello world!";

                    Alert.show(msg);

                    return msg;

               }

               public function initApp():void {

                        ExternalInterface.addCallback("sayHelloWorld",

sayHelloWorld);

                        Alert.show("init");

               }

           ]]>

           </mx:Script>

</mx:Application>

2.       那么在Html页面中,先获得SWF对象的引用,也就是用<object .../>声明的Swf的对象,比如说是testJs。然后就可以用以下方式调用ActionScript中的方法。

function callActionScript() {

    alert(document.getElementById("testJs").sayHelloWorld("奎跃翔"));   

}

二、 ActionScript中调用 JavaScript

ActionScript中调用JavaScript最简单的方法是使用ExternalInterface(),可以使用此API调用任意JavaScript,传递参数,获得返回值,如果调用失败,ActionScript抛出一个异常。

<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx=http://www.adobe.com/2006/mxml layout="absolute">

        <mx:Script>

           <![CDATA[

               import mx.controls.Alert;

               import flash.external. ExternalInterface;

               public function callJavaScript():void {

                    Alert.show(ExternalInterface.call("sayHelloWorld",

"奎跃翔"));

               }                  

       ]]>

        </mx:Script>

        <mx:Button x="290" y="10" label="Button"

click="callJavaScript()"/>

</mx:Application>

Html页面中有如下函数定义:

function sayHelloWorld(name) {

       var msg=name+,hello world!

       alert(msg);

       return msg;

}

 

 

分享到:
评论

相关推荐

    一个实现ActionScript 与JavaScript 进行相互通信的程序例子

    当需要在Flash内容与网页之间进行数据交换时,就需要实现ActionScript与JavaScript之间的通信。本程序例子旨在展示这种跨平台通信的实现方法。 ActionScript,基于ECMAScript,是Adobe Flash Player和Adobe AIR中的...

    ActionScript与JavaScript相互调用

    要实现ActionScript与JavaScript之间的相互调用,需要了解两种语言的交互机制。 - **在Flash中调用JavaScript**:通过`getURL()`函数实现。`getURL()`函数主要用于创建超级链接,但也可以用来调用JavaScript函数。...

    JavaScript与ActionScript3交互问题总结

    JavaScript与ActionScript3交互问题总结 在Web开发中,JavaScript是一种广泛使用的客户端脚本语言,而ActionScript3(AS3)则是Adobe Flash平台的核心语言。两者在不同的领域中发挥着重要作用,但有时需要进行交互...

    javascript与actionscript的交互.[课件]

    本课程将深入探讨 JavaScript 与 ActionScript 之间的交互机制,这对于创建丰富的互联网应用程序(RIA)和混合型跨平台应用来说至关重要。 1. JavaScript 基础: JavaScript 是一种轻量级、解释型的编程语言,主要...

    ActionScript与JavaScript相互调用(论文)

    ### ActionScript与JavaScript相互调用 #### 摘要 随着网络技术的发展,网页互动性的增强变得至关重要。本文探讨了如何在ActionScript与JavaScript之间实现相互调用,并借此完成一些单靠任何一种语言都无法实现的...

    javascript与flash之间的交互(例子)

    JavaScript 可以通过这些对象的属性和方法与 Flash 进行交互,如 `getVariable` 和 `setVariable` 方法。 3. **Flash 发布设置**: 为了使 Flash 能够与 JavaScript 通信,需要在 Flash 的发布设置中启用 "Allow ...

    Actionscript与javascript交互实例程序(修改)

    总结来说,Actionscript与JavaScript的交互通过`ExternalInterface`在两个不同环境中建立桥梁,使得Flex应用程序可以利用JavaScript与网页环境进行深度集成,实现诸如数据交换、用户界面更新等功能。这种交互对于...

    flex和javascript交互例子

    标题"flex和javascript交互例子"指向了这个主题的核心——如何在Flex应用中调用JavaScript函数,以及反过来在JavaScript中调用Flex的方法。这种技术通常被称为“Bridge”或“跨域通信”。 在Flex中,我们可以使用`...

    Flex3与javascript相互交互验证

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

    js.rar_actionscript_flash js_js actionscript_js flash_js交互

    在实现JavaScript与ActionScript的交互时,主要有以下几种方法: 1. **ExternalInterface API**:这是Flash Player提供的一个接口,允许ActionScript调用JavaScript函数和接收JavaScript的回调。在ActionScript中,...

    javascript与flex交互

    ### JavaScript与Flex交互知识点 #### 一、简介 在Web开发领域中,JavaScript与Flex的交互是一个非常实用且重要的技术组合。Adobe Flex是一种用于构建和部署丰富的互联网应用程序(RIA)的强大框架,它支持多种...

    Flex与JS交互

    Flex与JavaScript交互是Web开发中的一个重要技术,它允许在Adobe Flash Player或Adobe AIR环境中运行的Flex应用程序与HTML页面中的JavaScript代码进行通信。这种交互性极大地扩展了富互联网应用(RIA)的功能,使得...

    JavaScript和ActionScript的交互实现代码

    本文将详细介绍如何实现在 Flash 内容(ActionScript)与网页(JavaScript)之间的交互。 首先,让我们分析提供的代码片段。在第一个例子中,ActionScript 调用 JavaScript 的方法: ```xml &lt;![CDATA[ import...

    actionscript api javascript api j2ee api html+dom

    DOM API提供了遍历和操作HTML元素的方法,是JavaScript和其他脚本语言与HTML页面交互的基础。 这些API在实际开发中起着关键作用。ActionScript API用于创建互动的多媒体内容;JavaScript API用于实现动态的前端交互...

    javascript与actionscript3.0通信实例.rar

    在现代Web开发中,有时我们需要在浏览器端的JavaScript与Flash内容(使用ActionScript编写)之间进行交互,以实现更丰富的用户体验。本教程将深入探讨这两种语言之间的通信机制,特别关注在兼容Firework程序时的实现...

    flex与js交互2

    ### Flex与JavaScript交互详解 #### 一、引言 随着Web技术的发展,不同语言之间的通信变得尤为重要。在Flex与HTML的结合中,Flex通常作为富客户端应用,而JavaScript则负责处理网页逻辑。为了实现二者之间的无缝...

    flex和javascript交互

    ### Flex与JavaScript交互详解 #### 一、在JavaScript中调用Flex方法 在Flex与JavaScript进行交互时,可以通过`ExternalInterface`实现从JavaScript调用Flex中的方法。这主要是通过向Flex应用注册特定的公共方法来...

    Flex与JavaScript交互实例

    Flex与JavaScript交互是一种常见的技术,它允许在Adobe Flex(基于ActionScript 3的富互联网应用程序框架)和网页中的JavaScript之间进行通信。这种交互性对于构建混合型应用,特别是在需要利用浏览器内核特性的Web...

Global site tag (gtag.js) - Google Analytics