网页中插入FLASH(swf文件)的html代码【一】
HTML向FLASH传参数的三种方法原文来处一、SWF地址后使用参数传递符“?”,HTML页面中插入SWF文件最常用的就是使用Object标签和Embed标签结合的方式,这也是Adobe的推荐方式:<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="400" height="300" id="flashvars" align="center"><param name="allowscriptAccess" value="sameDomain" /><param name="movie" value="test.swf?xname=xvalue&xname2=xvalue2" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><embed quality="high" bgcolor="#ffffff" width="400" src="test.swf?xname=xvalue&xname2=xvalue2" height="300" allowScriptAccess="never" allowNetworking="internal" autostart="0" name="flashvars" align="center" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>swf地址后面通过类似于URL中GET方式传参的方法来个SWF传递参数,例如上面代码在页面完全加载完毕时,它已经给SWF文件写入了两个变量:uid=12和uname=vsky。二、FlashVars传递 你可以查阅FLASH帮助文档来看FlashVars的官方定义。其实在HTML语法中,这是一个被很多新手所忽视的属性,同样以上面的参数为例,下面用FlashVars来传递变量:<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="400" height="300" id="flashvars" align="center"><param name="allowscriptAccess" value="sameDomain" /><param name="movie" value="demo.swf" /><param name="FlashVars" value="xname=xvalue&xname2=xvalue2" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><embed src="demo.swf" FlashVars="xname=xvalue&xname2=xvalue2" allowScriptAccess="never" allowNetworking="internal" autostart="0" quality="high" bgcolor="#ffffff" width="400" height="300" name="flashvars" align="center" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>跟方式一相同,它也是直接给FLASH里添加了这两个变量。推荐使用此方式,结合SWFObject的使用,使用FlashVars来传递变量有很多好处,例如代码清楚,轻易治理,浏览其兼容,符合标准。三、JS控制 对于客户端页面中的资源,JS通过DOM结构来控制它们可以说是随心所欲的,FLASH也不例外,下面是Flash Player的Javascript方法一览表:Play() —————————————- 播放动画StopPlay()————————————停止动画IsPlaying()——————————— 动画是否正在播放GotoFrame(frame_number)—————- 跳转到某帧TotalFrames()——————————- 获取动画总帧数CurrentFrame()——————————回传当前动画所在帧数-1Rewind()————————————-使动画返回第一帧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当前帧-1TCurrentLabel(movie_clip)—————回传movie_clip当前标签TPlay(movie_clip)—————————播放movie_clipTStopPlay(movie_clip)———————-停止movie_clip的播放GetVariable(variable_name)—————获取变量SetVariable(variable_name, variable_value)TCallFrame(movie_clip,frame_number)—call指定帧上的actionTCallLabel(movie_clip,label)—————-call指定标签上的actionTGetProperty(movie_clip,property)——获取movie_clip的指定属性TSetProperty(movie_clip,property,number)———-设置movie_clip的指定属性在这里我们只需要使用的是SetVariable方法,JS通过调用此方法能够直接更改SWF中的变量值。首先我们需要定义插入的SWF的 ID,例如id为VskyDemo,那么我们可以通过下面的JS语句来完成SWF内部变量的置:document.getElementByIdx_x("xswf").SetVariable("xname","xvalue"); //不同浏览器获取FLASH对象方法不同变量名xname可以作为已声名的变量直接在FLASH内使用