- 浏览: 60691 次
- 性别:
- 来自: 北京
文章分类
最新评论
说明: 略作修改,主要是一些很初级的操作; 又很多相似的文章,不过这个很权威
下面是一些在Flash和使用javascript的HTML文件直接通信的示例,每个示例都有简略的步骤
本文讨论了3种基本的Flash/javascript通信方式:
> javascript 到 Flash的通信----使用Flash播放器的javascript方法
> Flash 到 javascript的通信----使用Flash的fscommand
> Flash 到 Flash的通信-----------使用本地连接对象或综合上2种技术
并不是所有的浏览器都很重视脚本.为了和Flash播放器通信,浏览器必须有内置的钩子以便Flash播放器可以'监听'.浏览器必须是下列的几种:
> Netscape Navigator 3.0-4.7x, 和 Netscape 6.2或更高
(Windows 95/98/NT/2000/XP 或 MacOS; 允许Java和LiveConnect)
>Internet Explorer 3.0 或更高
(仅Windows 95/98/NT/2000/XP; 允许ActiveX)
注意:Macintosh上的Internet Explorer和早期版本的Netscape6不支持这种方法.请查看本文的附加信息
javascript到Flash的通信
这个例子演示了如何使用Flash的method把变量从HTML的input text 发送到该页面中的Flash文件中.HTML input的数据通过Flash的SetVariable方法传送到Flash文件中.
步骤:
>Flash中
1.新建一个文件,保存为javascript_to_flash.fla
2.用文字工具在舞台上创建一个文本域
3.选择这个文本域,在属性面板中,从下拉列表中选择动态文本(Dynamic Text),在变量(variable)栏填上"myVar"
注意:最好的习惯是使用Instance,用myVar.text更改myVar的值.为了简单起见和兼容Flash4和Flash5,我们使用的是变量名的形式.
4.保存文件
5.发布HTML文件和SWF文件
>Dreamweaver中
下一步的工作转移到Dreamweaver中了,当然也可以是其他的HTML编辑器
1.打开上一步发布的HTML文件
2.插入生成的SWF文件和OBJECT/EMBED标签
(1) Insert>Media>Flash,并选择这个Flash
(2) 切换到代码视图,我们需要修改被选中的<OBJECT>和<EMBED>标签
(3) 在OBJECT标签中,插入id="myFlash"
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"codebase="http://download.macromedia.com
/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0"
width=366 height=142 id="myFlash">
注意:如果你是粘贴复制代码的话,确保删除不必要的换行.否则可能会引起错误; id也可以在属性面板里直接输入
(4) 在EMBED标签中,插入name="myFlash"和swLiveConnect="true",确保没有使用id属性!代码应当是这样子的:
<embed src="javascript_to_flash.swf" quality=high width=366 height=142
type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com
/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash";
name="myFlash" swLiveConnect="true"> </embed>
3.创建表单域
(1) 回到设计视图
(2) 插入文本域(Insert> Form Object> Text Field),如果询问是否添加表单域,选择是
(3) 把文本域的HTML标签修改成这样:
<input type="text" name="sendText" maxlength="45" onChange="doPassVar(this)">
每当文本域内容发生变化时,onChange就被触发,doPassVar()函数就被调用
4.创建传递变量值的javascript函数
复制下面的javascript到<head></head>标签内
<SCRIPT LANGUAGE=javascript>
<!--
function doPassVar(args){
var sendText = args.value;
window.document.myFlash.SetVariable("myVar", sendText);}
//-->
</SCRIPT>
5.保存文件,测试一下(F12)
Flash到javascript的通信
从HTML可以发送数据到Flash,反过来也可以. 这个例子演示了如何应用Flash的Fscommand来发送数据到javascript.
查看示例:示例2 下载源文件: flash_to_javascript.zip(10K)
简要步骤:
>Flash中
新建一个文件,保存为flash_to_javascript.fla
创建一个文本域,设置成输入文本(Input Text),选择"border"以便我们能看到他,指定他的变量为inputVar
创建一个按钮,在按钮上添加如下的as:
on (release) { fscommand ("send_var", inputVar);}
保存文件,导出HTML和SWF
>Dreamweaver中
1.打开导出HTML文件,修改<OBJECT>和<EMBED>标签,结果同上:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"codebase="http://download.macromedia.com
/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0" width=366
height=142 id="myFlash"> <embed src="javascript_to_flash.swf" quality=high
width=366 height=142 type="application/x-shockwave-flash"
pluginspage="http://www.macromedia.com
/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash";
name="myFlash" swLiveConnect="true"> </embed>
2. 插入如下的javascript到<Body>标签内:
<SCRIPT LANGUAGE=javascript>
<!--
var InternetExplorer= navigator.appName.indexOf("Microsoft") != -1;
function myFlash_DoFSCommand(command, args)
{
var myFlashObj = InternetExplorer ? myFlash : document.myFlash; alert (args);
}
if (navigator.appName && navigator.appName.indexOf("Microsoft") != -1 && navigator.userAgent.indexOf("Windows") != -1 && navigator.userAgent.indexOf("Windows 3.1") == -1)
{
document.write('<SCRIPT LANGUAGE=VBScript/> /n');
document.write('on error resume next /n');
document.write('Sub myFlash_FSCommand(ByVal command, ByVal args)/n');
document.write(' call myFlash_DoFSCommand(command, args)/n');
document.write('end sub/n'); document.write('</SCRIPT/> /n');
}
//-->
</SCRIPT>
3.保存,预览
Flash和Flash的通信
通过上面两种方法的混和使用,同一HTML中两个或者更多的Flash直接可以相互传送消息. 从一个flash使用fscommand传送消息给javascript,使用Flash的javascript methods把消息传给另外一个flash
详细的看这里:Flash影片之间的通信示例
http://www.macromedia.com/support/flash/ts/document./flash_to_flash_comm.htm
从Flash MX开始,local connection对象可以用来在flash之间传送消息. 这使得同一HTML中的或者位于两个浏览器窗口中的两个flash影片可以相互发送消息,而不必使用javascript或者fscommand
详细的看这里:在Flash MX中使用local connection对象
附可控制Flash Player的javascript方法:
一览表:
Play() ------------------------------------------------------ 播放动画 StopPlay()--------------------------------------------------- 停止动画 IsPlaying()-------------------------------------------- 动画是否正在播放GotoFrame(frame_number)---------------------------- 跳转到某帧 TotalFrames()------------------------------------------- 获取动画总帧数 CurrentFrame()--------------------------------- 回传当前动画所在帧数-1 Rewind()--------------------------------------------- 使动画返回第一帧 SetZoomRect(left,top,right,buttom)--------------------- 放大指定区域 Zoom(percent)-------------------------------------------- 改变动画大小 Pan(x_position,y_position,unit)------------------ 使动画在x,y方向上平移 PercentLoaded()--------------------------------- 返回动画被载入的百分比 LoadMovie(level_number,path)------------------------- 加载动画 TGotoFrame(movie_clip,frame_number)----------- movie_clip跳转到指定帧数 TGotoLabel(movie_clip,label_name)------------- movie_clip跳转到指定标签 TCurrentFrame(movie_clip)--------------------- 回传movie_clip当前帧-1 TCurrentLabel(movie_clip)---------------------- 回传movie_clip当前标签 TPlay(movie_clip)------------------------------------ 播放movie_clip TStopPlay(movie_clip)---------------------------- 停止movie_clip的播放 GetVariable(variable_name)---------------------------- 获取变量 SetVariable(variable_name,value)--------------------- 变量赋值 TCallFrame(movie_clip,frame_number)-------------- call指定帧上的action TCallLabel(movie_clip,label)----------------- call指定标签上的action TGetProperty(movie_clip,property)------------- 获取movie_clip的指定属性 TSetProperty(movie_clip,property,number)------- 设置movie_clip的指定属性
发表评论
-
css filter alpha透明度
2011-10-26 19:38 1084alpha是来设置透明度的。先来看一下它的alpha透明 ... -
ajax异步注意
2011-08-19 09:21 761真郁闷呀,改了一晚上,都不知道为什么,早上一调发现是aj ... -
在页面中显示时钟
2011-06-19 14:22 885<html> <head> < ... -
JQuery 操作checkbox
2011-06-07 17:51 904例:将多个选中的checkbox的值组装成一个字符串 &l ... -
浏览器兼容问题
2011-05-20 11:13 889今天碰到了个太2的问题了,竟然没有考虑到浏览器之间的兼容问题, ... -
JQuery Validator
2011-05-19 17:48 2893$(document).ready(funct ... -
window.open()
2011-05-18 10:12 858按钮点击时候跳 ... -
防止Input 有Ctrl+C,Ctrl+V操作
2011-05-17 17:42 1029input防止拷贝粘贴<input type= ... -
快速使用正则表达式
2011-05-16 20:17 594((\d{11})|^((\d{7,8})|(\d{4 ... -
正则表达式学习(2)
2011-05-16 20:13 7759. 单词边 ... -
正则表达式学习(一)
2011-05-16 20:11 6501. 什么是正则表达式 基本说来,正则表 ... -
常用正则表达式
2011-05-16 20:09 768//js常用正则表达式验证函数(javaScript ... -
js编码处理
2011-05-13 12:04 5731. 使用 JS 中的 encodeURIComp ... -
JavaScript 取得中文字符串的长度
2011-05-13 11:55 690$(function(){ $("#u ... -
HTML
2011-05-13 11:50 648今天在调Bug时候发现了一个问题,调了半天竟然是table ...
相关推荐
flash flash.js js 下载 文件flash flash.js js 下载 文件flash flash.js js 下载 文件flash flash.js js 下载 文件flash flash.js js 下载 文件flash flash.js js 下载 文件flash flash.js js 下载 文件flash flash...
总结,videojs-flash 2.2.0作为Video.js的插件,为那些仍然依赖Flash的用户提供了视频播放的解决方案。它在保持与HTML5视频一致性的同时,也考虑到了向后兼容性和用户体验,是开发者在构建跨平台视频播放器时不可或...
JavaScript、Flash和JS这三个术语在IT领域中都占据着重要的地位。它们分别代表了Web开发中的不同技术,各自有着独特的功能和应用场景。 首先,JavaScript是一种轻量级的解释型编程语言,广泛应用于网页和网络应用的...
本项目“前端项目-videojs-flash.zip”专注于Video.js与Flash技术的集成,适用于那些仍然需要Flash支持的场景。 Video.js本身是一个强大的HTML5视频播放器,它的核心是基于JavaScript和CSS3构建的,能够很好地适应...
本文将深入探讨如何通过Flash和JavaScript的结合实现这一功能。 首先,让我们了解Flash。Adobe Flash是一种曾经广泛应用于创建交互式内容、动画和网页小应用程序的技术。它允许开发人员创建丰富的媒体体验,包括...
JavaScript(简称JS)是一种轻量级的、解释型的编程语言,广泛应用于Web开发,用于增加网页的交互性和动态功能。在本主题中,我们将探讨如何利用JavaScript来实现类似Flash的动画效果,这是一种在现代浏览器中创建...
3. **Flash 发布设置**: 为了使 Flash 能够与 JavaScript 通信,需要在 Flash 的发布设置中启用 "Allow Script Access",并指定访问类型,如 "always" 或 "sameDomain"。 **JavaScript 调用 Flash 示例** ```html ...
1. **设置Flash与JavaScript的交互**: 在Flash ActionScript中,我们需要启用ExternalInterface并添加一个方法来报告加载进度。例如,可以创建一个名为`reportProgress`的方法,该方法接受加载百分比作为参数。...
**JavaScript与Flash交互**: 通过Flash的ActionScript和JavaScript之间的Bridge,可以实现两者间的交互。例如,你可以在Flash中定义一个函数,然后在JavaScript中调用它,或者从JavaScript向Flash传递数据。 **...
在Web页面中集成Flash时,JavaScript(JS)与Flash之间的交互变得尤为重要。通过JS可以实现对Flash内容的控制,如播放、停止、跳转帧等操作。本文将详细介绍JS控制Flash的一系列基本命令及其使用方法。 #### 二、JS...
首先,理解JS与AS通讯的基础是`ExternalInterface`,这是Flash Player提供的一个API,允许ActionScript代码与JavaScript环境进行交互。在AS端,你需要先启用`ExternalInterface.addCallback`方法来注册一个可供JS...
总结来说,JS调用Flash播放MP3涉及到JavaScript与Flash的交互、ActionScript音频处理以及用户交互设计等多个方面。通过合理的设计和实现,我们可以创建一个功能完善的音频播放系统,即使在HTML5不完全支持的环境中,...
flash项目调用js输入法,在flash内点击事件唤出外面的js输入法,输入完毕确定后可将键入汉字反馈至flash内并响应事件。实现输入法div悬浮在flash上...注:需要在IIS环境下才能实现flash与js之间数据传递。 2014-3-22
为了使JavaScript能控制Flash,需要在ActionScript中定义ExternalInterface,这允许Flash与JavaScript之间进行通信。 4. **JavaScript调用Flash方法**: 一旦定义了ExternalInterface,JavaScript就可以调用Flash...
在IT领域,JavaScript(简称JS)和Adobe Flash是两种广泛使用的技术,它们分别在网页动态效果和多媒体内容呈现上有着独特的优势。本文将通过一个小例子深入讲解如何实现JS与Flash之间的交互,帮助开发者更好地理解和...
在JavaScript(JS)和Adobe Flash(AS3)的交互中,常常需要实现从JavaScript向Flash传递数据的功能。这种通信机制可以让我们在网页中利用Flash的动态特性,同时借助JavaScript处理DOM和其他网页交互。本教程将深入...
- 由于安全限制,Flash与JavaScript的交互只能在同源策略下进行。确保Flash文件(如`wavplayer.swf`)与包含它的HTML页面位于同一个域名下。 - 有时,浏览器的Flash插件可能会阻止JavaScript访问Flash,尤其是隐私...
"external2.swf"是编译后的Flash文件,而"js_flash.swf"可能是另一个示例,展示了JavaScript与Flash的交互。 6. **安全考虑**:尽管ExternalInterface提供了便利,但也有安全风险。恶意代码可能利用这个接口进行跨...
标题“Js+Flash实现图片轮换”涉及到的是一个利用JavaScript和Adobe Flash技术来创建动态图片展示的方法。在网页设计和开发中,图片轮换通常用于制作幻灯片、广告横幅或者图片画廊,以吸引用户注意力并提供交互式...
3. **Flash与Flash之间的通信**:这种方式涉及到更复杂的机制,如使用共享对象(Shared Objects)或网络连接(Socket Connections)等。 #### 二、从JavaScript到Flash ##### 实现方法:使用Flash对象的方法 在...