之前一直在研究AS,虽然对JS与AS通信也充满了好奇。正好,今天有同学,在工作的时候要到用相关的技术。我就研究了一下,做了一个简单实例。简单的实现了JS与AS之间的通信。
首先,看一下JS调用AS。在Flex中通过ExternalInterface调用addCallback()来将AS的一个方法注册为一个JS和VBScript可以调用的方法。
函数如下:
addCallback(function_name:String, closure:Function):void
其中function_name就是Flex对外部展示,能够被JS调用的函数。
closure是Flex中AS写的函数。
现在Flex中,已经讲AS代码提供出来了,等待JS去调用。那么在Html页面中,先获得SWF对象的引用,也就是用<object .../>声明的Swf的Id属性,比如说是MyFlexApp。然后就可以用MyFlexApp调用Flex中的方法了。
JS调用AS完整实例如下
Flex工程代码
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute" width="404" height="314"
creationComplete="initApp()">
<mx:Script>
<![CDATA[
import flash.external.*; //引入ExternalInterface
public function myAsFuncn(js:String):String
{
return "js:"+js+"访问了as:"+asInput.text;
}
public function initApp():void
{
ExternalInterface.addCallback("myJsFunction",myAsFuncn);
}
]]>
</mx:Script>
<mx:Button x="169.5" y="162" label="点击" fontSize="14"/>
<mx:TextInput id="asInput" x="122" y="76"/>
</mx:Application>
Html代码
<html>
<head>
<script language="JavaScript">
function callAs( )
{
var myFlexfun=document.getElementById("myFlexFun");
var result=myFlexfun.myJsFunction(jsinput.value);
alert(result);
}
</script>
</head>
<body>
<table>
<tr>
<td>
<object id= "myFlexFun" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="400" height="300">
<param name="movie" value="test.swf" />
<param name="quality" value="high" />
<embed src="test.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="400" height="300"></embed>
</object> </td>
</tr>
<tr>
<td> <input type="input" id="jsinput"/><input type="button" value="点我看效果" onclick="callAs()"/></td>
</tr>
</table>
</body>
</html>
测试结果
到此,JS调用AS完毕!
- 大小: 13.7 KB
分享到:
相关推荐
在现代Web开发中,有时我们需要在浏览器端的JavaScript与Flash内容(使用ActionScript编写)之间进行交互,以实现更丰富的用户体验。本教程将深入探讨这两种语言之间的通信机制,特别关注在兼容Firework程序时的实现...
7. **Adobe AIR Native Extensions (ANE)**: 对于桌面应用程序,Adobe AIR允许创建Native Extensions,将ActionScript与操作系统级别的API连接起来,JavaScript可以通过ANE与ActionScript交互。 8. **PostMessage ...
ActionScript主要用于创建富媒体内容,而JavaScript则广泛应用于网页动态效果和用户交互。当需要在Flash内容与网页之间进行数据交换时,就需要实现ActionScript与JavaScript之间的通信。本程序例子旨在展示这种跨...
mxml页面: <?xml version=1.0 encoding=utf-8?> xmlns:s spark xmlns:mx=library://ns.adobe.com/flex/mx width height=100% xmlns:code=http://code.google.com/p/flex-iframe/ creationComplete> ...f
### JavaScript与Flex交互知识点 #### 一、简介 在Web开发领域中,JavaScript与Flex的交互是一个非常实用且重要的技术组合。Adobe Flex是一种用于构建和部署丰富的互联网应用程序(RIA)的强大框架,它支持多种...
Flex与JavaScript交互是一种常见的技术,它允许在Adobe Flex(基于ActionScript 3的富互联网应用程序框架)和网页中的JavaScript之间进行通信。这种交互性对于构建混合型应用,特别是在需要利用浏览器内核特性的Web...
通过分析`lv_shiyan.fla`中的ActionScript,我们可以看到如何使用`ExternalInterface`类与JavaScript通信,而JavaScript再与ASP页面进行Ajax交互。`lv_shiyan.html`中会设置`allowScriptAccess`属性,允许Flash与...
"打鸭子实例"是一个经典的Flash ActionScript应用,它展示了如何利用ActionScript来实现游戏逻辑和交互性。这篇教程将深入探讨这个实例,帮助你理解ActionScript在创建游戏中的核心作用。 首先,ActionScript是...
总之,"Flash与JavaScript的互联实例"展示了如何通过ActionScript和JavaScript之间的桥梁实现更高级的交互功能,这在Web开发中尤其有用,尤其是在创建动态内容和游戏时。通过理解这些实例,开发者可以更好地结合这两...
### Flex与JavaScript交互详解 #### 一、在JavaScript中调用Flex方法 在Flex与JavaScript进行交互时,可以通过`ExternalInterface`实现从JavaScript调用Flex中的方法。这主要是通过向Flex应用注册特定的公共方法来...
- **Flash External Interface (FEI)**:Flash Player允许ActionScript代码通过ExternalInterface API调用JavaScript函数,进而与网页中的Java代码进行交互。这种方式适用于浏览器环境,Java可以通过JavaScript操作...
它与后台交互,能够接收服务器端的数据并动态渲染成图表,适用于Web应用程序中的数据分析展示。本实例将探讨如何在Java环境中集成OpenFlashChart,创建交互式图表。 首先,我们需要了解OpenFlashChart的基本结构。...
ActionScript是一种基于ECMAScript规范的脚本语言,它的基本语法与JavaScript相似,包括变量声明、数据类型(如Number、String、Boolean)、运算符、流程控制(if语句、for循环、while循环)以及函数定义等。...
6. **ActionScript与XML/SWF/AAM整合**:ActionScript可以处理XML数据,与SWF(Shockwave Flash)文件进行交互,以及使用Action Message Format(AAM)进行组件通信。 7. **错误处理**:理解如何使用try-catch语句...
10. **ActionScript与HTML/JavaScript的交互**:了解如何通过ExternalInterface类使Flash内容与网页的JavaScript进行通信。 在这个“ActionScript 2.0入门系列”中,"说明.txt"文件可能包含了课程的目录和学习指南...
ActionScript是一种基于ECMAScript(JavaScript的标准化版本)的编程语言,主要应用于Adobe Flash平台,用于创建交互式富媒体内容,如网页游戏、动画、应用程序和视频播放器。本电子版的"ActionScript开发技术大全...
在IT行业中,FLEX与JavaScript的数据交互以及Google插件IFrame的使用是Web开发中的重要技术环节。FLEX是一款基于Adobe Flash Player的富互联网应用程序(RIA)开发框架,而JavaScript则是网页开发的标准脚本语言。当...
在学习ActionScript 3.0的过程中,开发者可以利用它实现复杂的动画、控制时间线、响应用户交互以及与后端服务器进行数据通信等。书中可能涵盖了如下重要知识点: 1. ActionScript 3.0基础:包括ActionScript的版本...
ActionScript 2.0 是一种基于ECMAScript(与JavaScript相似)的脚本语言,主要用于Adobe Flash平台。它是Flash Professional和Flash Player中的编程语言,允许开发者创建交互式、动态的Web内容,包括动画、游戏、...