前段时间一直搞活动页面,趁着有空闲的时间总结下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上的方法。
分享到:
相关推荐
在IT行业中,AS与JS交互是一项重要的技术,特别是在富互联网应用程序(RIA)开发中,如Adobe Flex或ActionScript(AS)与JavaScript(JS)的融合应用。这些技术结合可以为用户提供更加动态和交互性强的网页体验。...
4、使用Flash中的ExternalInterface.addCallback方法创建接口,使JS能够调用AS中的函数。 包含swfobject.js与fla源文件。 (*下载swfObject开发版及示例请访问:http://code.google.com/p/swfobject/) 兼容性,...
在现代Web开发中,Flash(ActionScript 3.0,简称AS3.0)与JavaScript(JS)的交互是常见的技术需求,特别是在实现富互联网应用(RIA)时。这种交互能力使得网页上的Flash内容能够与JavaScript环境进行通信,从而...
本案例“Flash与JS交互案例”展示了如何在网页中使SWF(Flash影片)与JavaScript进行数据交换,从而实现更丰富的用户体验。 首先,让我们了解Flash中的`ExternalInterface` API。这是Adobe Flash Player提供的一种...
在网页开发中,Flash与JavaScript(JS)的交互是一个常见的需求,特别是在富互联网应用程序(RIA)的场景下。这两种技术的交互使得动态内容和用户互动得以实现,弥补了彼此的不足。本文主要探讨如何实现Flash...
JS与Flash交互的核心在于ActionScript,Flash中的编程语言。通过ActionScript,我们可以定义Flash对象的行为,并开放接口供JavaScript调用。这种交互方式允许开发者利用Flash的强大图形处理能力,同时利用JS实现更...
在现代Web开发中,JavaScript(JS)和Adobe Flash(AS,ActionScript)是两种常见的交互技术,它们在创建动态和富媒体内容时起着重要作用。虽然Flash已经逐渐被HTML5取代,但在某些特定场景下,如旧版浏览器的兼容性...
1. **Flash External Interface (AS3):** 这是Flash Player提供的一个API,允许ActionScript 3代码(Flash的编程语言)调用JavaScript函数,进而与网页中的C# Web服务或Ajax接口通信。C#服务端可以处理请求并返回...
这个类允许AS3代码与JavaScript在浏览器环境中进行通信,从而间接地实现了FLEX与HTML页面中的FLASH对象的交互。以下是实现这一交互的基本步骤: 1. **在FLASH中设置允许交互**:在FLASH的ActionScript面板中,为要...
在Flash开发中,...这有利于代码组织和复用,同时,如果需要与JavaScript交互,可以利用`ExternalInterface`进行跨语言调用。在实际的开发过程中,了解这些基础概念和技术对于高效地构建Flash应用程序至关重要。
在本文中,我们将深入探讨如何在AS...总之,AS3.0与JavaScript的交互通过ExternalInterface提供了强大的能力,使得Flash内容可以无缝地融入网页中。理解并熟练运用这些技巧,对于创建具有深度交互性的Web应用至关重要。
在这个示例中,`1.fla`是Flash的源文件,其中包含了AS3代码,可能已经定义了与JavaScript交互的函数。`show.html`是包含Flash内容的HTML页面,可能使用了`ExternalInterface`或`flashvars`来与Flash通信。`c.swf`是...
在Web开发中,Flash和JavaScript(JS)的交互是一个重要的技术点,特别是在早期网页中,Flash用于实现丰富的动画效果和多媒体交互,而JavaScript则负责页面的动态行为。本主题聚焦于"FLASH与JS双向通信AS2.0",即...
本文将深入探讨如何在C# WinForms应用程序中与Flash进行交互,实现两者之间的数据通信和功能集成。 首先,理解WinForms和Flash交互的基本原理至关重要。Flash可以通过ActionScript提供对外部接口(External ...
《Flash AS3 中文帮助文档》是针对Adobe Flash Professional CS3中的ActionScript 3.0编程语言提供的中文版API参考手册。ActionScript 3.0是Flash平台上用于创建交互式内容、动画和富互联网应用程序(RIA)的主要...
在Flash中,我们可以使用ExternalInterface API来实现与JavaScript的交互,从而间接地与C#后台通信。在B/S场景下,JavaScript可以调用Web服务或PageMethods,C#端处理后返回结果,JavaScript再将这些结果传递给Flash...
然而,有时我们需要让Flash内容与网页的其他部分进行交互,比如获取用户输入、更新DOM元素或者实现页面导航,这就需要AS3与JS之间的通信。 二、通信方法 1. **ExternalInterface API**:这是AS3和JS通信的主要方式...
在探讨“VB与Flash的双向交互”这一主题时,我们首先需要...然而,随着HTML5和JavaScript的兴起,Flash的重要性已经大不如前,但了解VB与Flash的交互机制,对于理解和适应不断变化的技术生态仍然具有重要的参考价值。
在IT行业中,C#与Flash的交互是一种常见的技术应用场景,特别是在网页开发和桌面应用程序中,开发者经常需要将这两种技术结合,以实现丰富的图形用户界面和动态内容。本篇将详细探讨如何通过C#来接收并处理由Flash...
在现代Web开发中,Flash和JavaScript(JS)的交互是一个重要的技术点,特别是在富互联网应用程序(RIA)的场景下。这种交互能力使得开发者能够利用Flash的动画和多媒体处理能力,结合JavaScript的灵活性和浏览器兼容...