前段时间一直搞活动页面,趁着有空闲的时间总结下as跟js之间的交互。
首先来段as的代码。
package {
import flash.display.MovieClip;
import flash.events.Event;
import flash.external.ExternalInterface;
public class TestAs extends MovieClip {
public function TestAs() {
bindAllEvent();
init();
}
private function init():void{
btn1.label = "按我吧";
ExternalInterface.addCallback("callASMethod", callASMethod);
}
private function bindAllEvent():void{
btn1.addEventListener("click", btn1Handler);
}
private function btn1Handler(event:Event):void{
callJSMethod();
}
//js调用as
private function callASMethod(value:String):void{
btn1.label = value;
}
//as调用js代码
private function callJSMethod():void{
ExternalInterface.call("callJSMethod", "测试下");
}
}
}
代码很简单,上面只有一个按钮btn1,定义了两个方法,主要用来给js跟as交互的。
页面代码:
<html>
<head>
<title>as与js交互</title>
</head>
<body>
<input type="button" value="调用flash方法" onclick="sendToAS()"/>
<div id="swfcontent"></div>
<script type="text/javascript">
function insertFlash(elm, eleid, url, w, h, b) {
if (!document.getElementById(elm)) return;
var str = '';
str += '<object width="' + w + '" height="' + h + '" id="' + eleid + '" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0">';
str += '<param name="movie" value="' + url + '" />';
str += '<param name="allowScriptAccess" value="always" />';
str += '<param name="base" value="' + b + '" />';
str += '<param name="wmode" value="transparent" />';
str += '<param name="quality" value="autohigh" />';
str += '<embed width="' + w + '" base="' + b + '" height="' + h + '" name="' + eleid + '" src="' + url + '" quality="autohigh" swLiveConnect="always" wmode="transparent" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed>';
str += '</object>';
document.getElementById(elm).innerHTML = str
}
var base = "";//指针及抽奖图片背景所在路径
insertFlash("swfcontent", "Lottery", "1.swf", 500, 400, base);
//as调用js方法
function callJSMethod(msg){
alert(msg);
}
function getMovie(movieName) {
if (navigator.appName.indexOf("Microsoft") != -1) {
return window[movieName];
} else {
return document[movieName];
}
}
//js调用as方法
function sendToAS() {
getMovie("Lottery").callASMethod("js调用flash");
}
</script>
</body>
</html>
flash跟页面各有一个按钮,html页面的按钮点击后会访问as上的方法,而flash上按钮点击后会调用js上的方法。
分享到:
相关推荐
4、使用Flash中的ExternalInterface.addCallback方法创建接口,使JS能够调用AS中的函数。 包含swfobject.js与fla源文件。 (*下载swfObject开发版及示例请访问:http://code.google.com/p/swfobject/) 兼容性,...
有关FLASH利用AS3.0与网页里javascript产生交互达到信息传递的方法。案例中用了最简单的例子,简单易懂。大家多多交流,共同进步。
flash与js交互方法 当Flash置于HTML容器中时,经常会遇到AS与JS的通信问题,例如:JS能否调用AS中的变量、方法,AS能否调用JS中的变量、方法等等。答案是肯定的。随着技术的不断发展,解决方案也是多种多样的。 欢迎...
一个简单的示例 通过此例学习页面中的FLASH和JS之间的交互~ HTML文件最好在服务器上发布以后运行,或者设置FLASH的安全面板中添加此HTML所在的位置
下面是一些在Flash和使用Javascript的HTML文件直接通信的示例,每个示例都有简略的步骤 本文讨论了3种基本的Flash/Javascript通信方式: Javascript 到 Flash的通信—-使用Flash播放器的javascript方法 Flash 到 ...
2)本插件是基于同一台电脑上的FLASH之间能进行LocalConnection以及FLASH与JS能相互调用的原理而设计,将客户端不同域页面间Javascript相互调用转化为了FLASH之间的"本地命令发送". 3)本插件在不同域页面间Javascript...
一个很不错的中秋博饼程序。含ASP+flash进行交互程序。save.asp随时记得博饼的结果。
只是使用的话,你只需要,看rec.php(调用flash的,通过js与flash交互,可以知道flash的各种状态,交互函数丰富);uploadSound.php(上传的服务器端程序,用于存储文件的);MP3数据的传输是gzip压缩的,服务器端存...
flash+php刮奖实例,js,flash和php之间交互
AS3语法大全 。AS3即ActionScript3.0的简称。...它在 Flash 内容和应用程序中实现交互性、数据处理以及其他功能。 ActionScript是Flash的脚本语言,与JavaScript相似,ActionScript是一种面向对象编程语言。
JavaScript.as ---------------------- javascript交互 HTTPS.as ---------------------- url随机数 SNS.as ---------------------- 各个sns网站的分享 timeline: prevPlay.as ---------------------- 反向/...
相信JavaScript与Flash交互大家都会有所接触或者有所耳闻。其实我也是第一次整这个玩意。具体的方法就不说了,很多资料。 开始的时候功能都做得差不多了,实现和没问题。可是就是到了最后,将swf文件放到资源服务上...
AS3即ActionScript3.0的简称。 ActionScript 动作脚本是...它在 Flash 内容和应用程序中实现交互性、数据处理以及其他功能。 ActionScript是Flash的脚本语言,与JavaScript相似,ActionScript是一种面向对象编程语言。
与Web浏览器定义的文档对象模型(DOM)一起使用时,JavaScript可以创建动态HTML(DHTML)内容,允许用户与客户端的Web应用程序交互。 JavaScript语法以流行的程序设计语言C、C 和Java为基础,因此,经验丰富的程序设计...
第 45 章 : 与其他 Flash Player 和 AIR 实例通信 第 46 章 : 与 AIR 中的本机进程通信 第 47 章 : 使用外部 API 第 48 章 : AIR 中的 XML 签名验证 第 49 章 : 客户端系统环境 第 50 章 : AIR 应用程序的调用...
结构####Session 会话是 Gordon 层次结构中的最高对象。 每个会话都完全独立于其他会话。 会话包含所有其他 Gordon 对象,如房间、用户和数据对象。 ####Room 一个会话可以分为任意数量的房间。 房间是客户互动的...
淘宝的页面上也常常会使用到Flash,激活限制导致用户的交互性体验感受不够友善。 我们一直想解决此问题。但是国内门户网站的做法都略为麻烦,要么需要为每个flash编写额外的js,要么就是在页面上放置flash的位置打上...
最近在实现flash的播放音乐的功能,这就涉及到js和as交互的问题,因为要实现动态改变音乐文件的功能,可是如何判定呢?
因項目部署需要,特把之前寫的與讀卡器通訊的模塊改為ActiveX插件,給Flash調用,由於Flash不能直接調用ActiveX,所以,用JS作為中間層,作為Flash和ActiveX通訊的橋梁。 開發環境:WINXP _EN 開發工具:VS2005,...
ActionScript 动作脚本是遵循 ECMAscript第四版 的 ... ActionScript是Flash的脚本语言,与JavaScript相似,ActionScript是一种编程语言,新出的AS3.0使用OOP(面对对象编程),增加更强的报错能力,指定类型也更明确