新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 网络学院 > 媒体动画 > Flash教程 > 正文:JS+FLASH 参数传递 个人见解

JS+FLASH 参数传递 个人见解

新客网 XKER.COM 2008-03-17 来源:nofish s BLOG 收藏本文

JS+FLASH 参数传递 个人见解
看过了很多JS+FLASH的特效。也有很多的朋友问这个方面的问题。很多东西我也不懂,我也不是学程序出身的。不知道他们之间的参数、数据传递到底靠的是什么。但是个人觉得并非AS和ASP这样的程序起关键作用。他们无非是完成自己的功能而已,这样FLASH可以方便的读取和传递数据,从而达到相应的目的!


闲话就不说了。以前我写过这个方面的东西,今天我不妨把他们都归纳一下,大家一起探讨研究。希望能让FLASH的灵活性更好……

(一)IE地址栏传递法
在本页内,如何让FLASH读取到URL中的参数,经过研究得到了一下的方法!所以拿出来跟大家分享一下,AS区这个应该还不多!


具体的说一下:
比如你打开一个地址:http://210.83.30.205/flash/aaa.asp?aaa=sdf
这个地址页面里有一个FLASH,这个FLASH里有一个动态文本框,问题就出来了——如何让这个文本框显示地址栏中的参数(至于读取这个参数的用处我就不多说了)


方法如下:

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/sho ... sh/swflash.cab#version=7,0,0,0" width="550" height="400" id="aaa" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="aaa.swf?<%="aaa="&request.querystring("aaa")%>" />
<param name="quality" value="high" />
<param name="bgcolor" value="#333333" />
<embed src="aaa.swf" quality="high" bgcolor="#333333" width="550" height="400" name="aaa" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>

其实就是在FLASH里,把value的值该一下,如果你trace(_url)一下就知道,FLASH的地址就是http://210.83.30.205/flash/aaa.swf?aaa=sdf

好了 ,问题说完了,方法也讲完了!怎么用,有什么用途,你会慢慢发现的哦!……

(二)HTML文本框传递法
今天刚刚整理的:

步骤:
>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://fpdownload.macromedia.com/pub/sho ... sh/swflash.cab#version=7,0,0,0" width="200" height="150" id="myFlash" align="middle">
注意:如果你是粘贴复制代码的话,确保删除不必要的换行.否则可能会引起错误; id也可以在属性面板里直接输入
(4) 在EMBED标签中,插入name="myFlash"和swLiveConnect="true",确保没有使用id属性!代码应当是这样子的:
<embed src="javascript_to_flash.swf" quality="high" bgcolor="#003463" width="200" height="150" swLiveConnect="true" name="myFlash" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
3.创建表单域
(1) 回到设计视图
(2) 插入文本域(Insert> Form Object> Text Field),如果询问是否添加表单域,选择是
(3) 把文本域的HTML标签修改成这样:
<input type="text" name="sendText" maxlength="45" onkeyup="doPassVar(this)">
或者选用:
<textarea name="sendText" onkeyup="doPassVar(this)" rows="1" cols="42"></textarea>
每当文本域内容发生变化时,onkeyup就被触发,doPassVar()函数就被调用
4.创建传递变量值的Javascript函数
复制下面的Javascript到<head></head>标签内
<SCRIPT LANGUAGE=JavaScript>
<!--
function doPassVar(args){  
var sendText = args.value;  
window.document.myFlash.SetVariable("myVar", sendText);
}
file://-->
</SCRIPT>
5.保存文件,测试一下(F12)

共2页: 上一页 [1] [2] 下一页
标签:
收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。