1)as调用js的方法A
ExternalInterface.call("A")
2)方法 A 调用as里的方法 B ,调用时将i作为参数
as里注册一个方法:ExternalInterface.addCallback("B",Real_B)
js里调用:document[flashObjectName].B(i)
其中flashObjectName是flash控件的id名.
3)在as的方法Real_B里,获取到传来的参数i,然后做想做的事情吧
两个是不同领域的术语,不能混为一谈的,as3主要是flash的脚本代码,as3.0,一般指actionscript 3.0,
ActionScript 是一种基于 ECMAScript 的编程语言,用来编写 Adobe Flash 电影和应用程序。ActionScript 1.0 最初随 Flash 5 一起发布,这是第一个完全可编程的版本。Flash 6 增加了几个内置函数,允许通过程序更好地控制动画元素。在 Flash 7 中引入了 ActionScript 2.0,这是一种强类型的语言,支持基于类的编程特性,比如继承、接口和严格的数据类型。Flash
8 进一步扩展了 ActionScript 2,添加了新的类库以及用于在运行时控制位图数据和文件上传的 API。Flash Player
中内置的 ActionScript Virtual Machine(AVM1)执行 ActionScript。通过使用新的虚拟机ActionScript Virtual Machine(AVM2),Flash 9(附带 ActionScript 3)大大提高了性能。
简介:
ActionScript 的老版本(ActionScript 1.0 和 2.0)提供了创建效果丰富的 Web应用程序所需的功能和灵活性。ActionScript 3 现在为基于 Web 的应用程序提供了更多的可能性。它进一步增强了这种语言,提供了出色的性能,简化了开发的过程,因此更适合高度复杂的 Web应用程序和大数据集。ActionScript 3 可以为以 Flash Player 为目标的内容和应用程序提供高性能和开发效率。
ActionScript 3 符合 ECMAScript Language Specification 第三版。它还包含基于 ECMAScript Edition 4 的功能,比如类、包和名称空间;可选的静态类型;生成器和迭代器;以及非结构化赋值(destructuring assignments)。随着 Web应用程序项
目需求的增长,也要求 ActionScript 引擎有重大的突破。ActionScript 3 引入了一个新的高度优化的
ActionScript Virtual Machine(AVM2),与 AVM1 相比,AVM2 的性能有了显著的提高。这使
ActionScript 3 代码的执行速度几乎比以前的 ActionScript 代码快了 10 倍。Flash Player 9 中包含
AVM2(ActionScript 3.0 的脚本语言引擎),设计它的目的是提供互联网应用程序开发人员所需的性能和特性。为了向后兼容现有的内容,Flash Player 将继续支持 AVM1。
概述:
从 ActionScript 3 的一般特性开始,我将讨论一下目标、语言特性和 Flash Player API 特性。还要讨论 ActionScript 3 中的新特性和不太为人所知的特性。在 2006 年 11 月 7 日,在旧金山召开的 WEB 2.0 会议上,Adobe Systems 宣布将 ActionScript Virtual Machine 的源代码捐献给 Mozilla Foundation。Mozilla 启动了一个新的开放源码项目 Tamarin,其目的是促进这种创建 Web应用程序的标准化方法的开发。
ActionScript 3 有两类特性:语言特性和 Flash Player API 特性。语言特性基本上是在 ActionScript 2 之上构建的,但是还有一些性能和功能方面的改进,包括:
许多运行时异常,用来改进常见的错误处理和调试。这些运行时异常会显示堆栈跟踪,可以帮助开发人员轻松地找到错误的根源。以前的 ActionScript 版本会悄悄地掩盖错误,以避免在 Flash 中出现错误消息对话框。这在开发期间会造成困难,因为开发人员不了解可能出现的错误,就无法开发出好产品。
在运行时存储类型细节,用来进行检查并保护系统,因此 ActionScript 3 是强类型的。这还有助于减少内存使用量,因为类型信息以本机机器表示法表示变量。
ActionScript 3 完全符合 ECMAScript 第四版规范,这可以简化 XML 解析。
ActionScript 3 的 Flash Player API 特性包括:
DOM3 事件模型提供了生成和处理事件消息的标准方法,这有助于在对象之间进行更好的通信和交互。
新的 Loader 类提供了装载 Shockwave Flash 和图像的单一机制,并提供访问关于被装载内容的详细信息的方法。URLLoader 类提供了在数据驱动应用程序中装载文本和二进制数据的单独机制。
Socket 类提供了以任何格式对服务器套接字读写二进制数据的方法。
ActionScript 3.0 包含一个 flash.text 包,它提供与文本相关的所有 API。
js
Javascript[1]是一种由Netscape的LiveScript发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。当时服务端需要对数据进行验证,由于网络速度相当缓慢,只有28.8kbps,验证步骤浪费的时间太多。于是Netscape的浏览器Navigator加入了Javascript,提供了数据验证的基本功能。
基本信息:
JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML(标准通用标记语言的子集)网页添加动态功能,比如响应用户的各种操作。它最初由网景公司(Netscape)的Brendan Eich设计,是一种动态、弱类型、基于原型的语言,内置支持类。JavaScript是Sun公司(已被oracle收购)的注册商标。Ecma国际以JavaScript为基础制定了ECMAScript标准。JavaScript也可以用于其他场合,如服务器端编程。完整的JavaScript实现包含三个部分:ECMAScript,文档对象模型,字节顺序记号。
Netscape公司在最初将其脚本语言命名为LiveScript。在Netscape在与Sun合作之后将其改名为JavaScript。JavaScript最初受Java启发而开始设计的,目的之一就是“看上去像Java”[2],因此语法上有类似之处,一些名称和命名规范也借自Java。但JavaScript的主要设计原则源自Self和Scheme[3]。JavaScript与Java名称上的近似,是当时网景为了营销[4]考虑与Sun公司达成协议的结果。为了取得技术优势,微软推出了JScript脚本语言。Ecma国际(前身为欧洲计算机制造商协会)创建了ECMA-262标准(ECMAScript)。现两者都属于ECMAScript的实现。尽管JavaScript作为给非程序人员的脚本语言,而非是作为给程序人员的编程语言来推广和宣传,但是JavaScript具有非常丰富的特性。
前身是Live Script
正式名称:ECMAScript
ECMAScript-262是JavaScript标准,基于网景(Netscape)公司提出JavaScript语言和微软公司提出的JScript语言
ECMA开始于1996年,在1997年7月,采纳了首个版本,1998年,该标准成为了国际ISO标准
总之,as是要基于flash上创作的动画脚本,让flash有更丰富的动画特效,而js则不需要这么麻烦,他是嵌入于web页面上,虽然也能实现动画效果,但是两者实现的动画功能还是有明显的区别,js毕竟还是比较不能实现更丰富动人的动画的,只能是简单的一些特效而已,还有就是基于web页面处理数据能力,as就没有这功能了。纯粹是动画脚本
远程本地JS方法,参考如下:本地代码:
<script type="text/javascript">
function showdata(data) {
alert(data)
}
var url = "IP//注意这里,参数可以随便传,method是指服务器要调用的方法名,name参数代表你要传过去 的参数,这样服务器可以对你传的参数做各种数据库操作,最后通过调用你传过去的方法回调回来。
var script = document.createElement('script')
script.setAttribute('src', url)
document.getElementsByTagName('head')[0].appendChild(script)
</script>
服务器(WebForm1.aspx)代码
html:<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="RTERP.Web.WebForm1" %>
只留这一句,其他全部删除
后台cs:
protected void Page_Load(object sender, EventArgs e)
{
string name = Request["name"]//接收传过来的参数
string method = Request["method"]//接收传过来的js方法名称
/*
这中间可以是你随便的各种操作,什么读写数据库啊等等,反正最后要给传过来的js方法当参数传过去
*/
Response.Write(method + "('远程服务器返回的数据" + name + "')")//调用那个JS方法
}