zoukankan      html  css  js  c++  java
  • HTML向FLASH传参数的3种方法

    一、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="sameDomain"  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="sameDomain" 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()——————————回传当前动画所在帧数-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, variable_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的指定属性
    在这里我们只需要使用的是SetVariable方法,JS通过调用此方法能够直接更改SWF中的变量值。首先我们需要定义插入的SWF的 ID,例如id为VskyDemo,那么我们可以通过下面的JS语句来完成SWF内部变量的置:
    document.getElementById("xswf").SetVariable("xname","xvalue"); //不同浏览器获取FLASH对象方法不同
    变量名xname可以作为已声名的变量直接在FLASH内使用
  • 相关阅读:
    C#/JAVA 程序员转GO/GOLANG程序员笔记大全(DAY 04)
    C#/JAVA 程序员转GO/GOLANG程序员笔记大全(DAY 03)
    C#/JAVA 程序员转GO/GOLANG程序员笔记大全(DAY 02)
    C#/Java 程序员转GO/golang程序员笔记大全(day 01)
    selenium grid配置
    JUnit和TestNG的区别
    【转载】 HttpClient、HttpURLConnection、OKHttp和Volley优缺点和性能对比
    selenide总结
    docker操作
    python连接oracle数据库
  • 原文地址:https://www.cnblogs.com/top5/p/2388193.html
Copyright © 2011-2022 走看看