网页中播放Flash

                                             作者 佚名 文章来源 互联网  地址 http://www.eqing.com.cn/Article/Print.asp?ArticleID=1543
介绍
     我们要在网页中正常显示flash内容,那么页面中必须要有指定flash路径的标签。也就是OBJECT和EMBED标签。OBJECT标签是用于windows平台的IE浏览器的,而EMBED是用于windows和Macintosh平台下的Netscape
      Navigator浏览器以及Macintosh平台下的IE浏览器。windows平台的IE利用Activex控件来播放flash而其它的浏览器则使用Netscape插件技术来播放flash。     
网页中插入flash的代码示例

 1None.gif<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"  
 2None.gifcodebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"
 
 3None.gifWIDTH="550" HEIGHT="400" id="myMovieName">
 
 4None.gif<PARAM NAME=movie VALUE="myFlashMovie.swf">
 
 5None.gif<PARAM NAME=quality VALUE=high>
 
 6None.gif<PARAM NAME=bgcolor VALUE=#FFFFFF>
 
 7None.gif<EMBED src="/support/flash/ts/documents/myFlashMovie.swf" quality=high bgcolor=#FFFFFF WIDTH="550" HEIGHT="400"
 
 8None.gifNAME="myMovieName" ALIGN="" TYPE="application/x-shockwave-flash"
 
 9None.gifPLUGINSPAGE="http://www.macromedia.com/go/getflashplayer">
 
10None.gif</EMBED>
 
11None.gif</OBJECT>

12None.gif
为什么要使用以上全部的标签?能省略某些标签不? 
    OBJECT标签是用于windows IE3.0及以后浏览器或者其它支持Activex控件的浏览器。“classid”和“codebase”属性必须要精确地按上例所示的写法写,它们告诉浏览器自动下载flash player的地址。如果你没有安装过flash player 那么IE3.0以后的浏览器会跳出一个提示框访问是否要自动安装flash player。当然,如果你不想让那些没有安装flash player的用户自动下载播放器,或许你可以省略掉这些代码。
 
    EMBED标签是用于Netscape Navigator2.0及以后的浏览器或其它支持Netscape插件的浏览器。“pluginspage”属性告诉浏览器下载flash player的地址,如果还没有安装flash player的话,用户安装完后需要重启浏览器才能正常使用。
  为了确保大多数浏览器能正常显示flash,你需要把EMBED标签嵌套放在OBJECT标签内,就如上面代码例子一样。支持Activex控件的浏览器将会忽略OBJECT标签内的EMBED标签。Netscape和使用插件的IE浏览器将只读取EMBED标签而不会识别OBJECT标签。也就是说,如果你省略了EMBED标签,那firefox就不能识别你的flash了(不过纳闷的是,省略了object只写embed,IE也能正常显示flash,呵呵,具体的再仔细看看了)。
本文列出了用于发布影片的OBJECT和EMBED标签的必要以及可选属性。 

    一、必需属性:
  ·CLASSID-设置浏览器的Activex控件,仅用于OBJECT标签。
  ·CODEBASE-设置flash Activex控件的位置,因而如果浏览器如果没有安装的话,可以自动下载安装。仅用于OBJECT标签。
  ·WIDTH-以百分比或象素指定flash影片的宽度。
  ·HEIGHT-以百分比或象素指定flash影片的高度。
  ·SRC-指定影片的下载地址。仅用于EMBED标签。
  ·PLUGINSPAGE-设置flash 插件的位置,因而如果浏览器如果没有安装的话,可以自动下载安装。仅用于EMBED标签。
  ·MOVIE-指定影片的下载地址。仅用于OBJECT标签。

二、可选属性及可用的值:
  ·ID-设定变量名,用于脚本代码的引用。仅用于OBJECT。
  ·NAME -设定变量名,用于脚本代码(如javascript)的引用。仅用于EMBED。
  ·SWLIVECONNECT - (true或false)指定当flash player第一次下载时,是否启用java。如果些属性省略,默认值为false。你果你在相同页同使用javascript和flash,java必须使用FSCommand来工作。
  ·PLAY -(true或false)指定flash影片是否在下载完成后就自动播放,如果省略此属性,则默认为true。
  ·LOOP - (true或false)指定影片播放完最后一帧后是停止还是继续循环播放,如果省略此属性,则默认为true。
  ·MENU - (true或false)
    ·True 显示全部的菜单,允许用户放大,缩小等控制影片播放等操作。
    ·False 显示只包含设置选项和关于flash的菜单。
  ·QUALITY - (low, high, autolow, autohigh, best )
     ·Low 速度优于美观,而且不应用反锯齿。
   ·Autolow 刚开始着重于速度,但当需要时随时提升美观。
   ·Autohigh 同时着重播放速度和美观,但需要时则牺牲美观来保证播放速度。
   ·Medium 应用一些反锯齿而不平滑位图。它质量高于low设置而低于high设置。
   ·High 美观优于播放速度,而且一直应用反锯齿。如果影片不包含动画,位图会被平滑化;而如果影片包含动画,位图将不变平滑。
   ·Best 提供最好的显示质量而不考虑播放速度。所有输出都应用反锯齿及所有位图都被平滑化。
  ·SCALE - (showall, noborder, exactfit)
     ·Default(Show all)影片在指定的区域内显示,但保持原始的比例。影片两侧将会出现边框。
   ·No Boder 收缩影片以适合指定的区域,保持影片不失真,但部分影片将可能将裁切。然而保持影片的原始比例。
   ·Exact Fit 使整个影片在指定的区域内显示,影片有可能变形失真,而且不保持原始的比例。
  ·ALIGN - (l, t, r, b)
   ·默认为居中,当浏览器窗口小于影片时,边缘会被裁切。
   ·Left,Right,Top,Bottom按照相应的设置沿浏览器的边缘对齐。如果需要,另外三边将被裁切。
  ·SALIGN - (l, t, r, b, tl, tr, bl, br)
   ·L,R,T,B
   ·TL,TR
   ·BL,BR
  ·WMODE- (window, opaque, transparent) 设置flash影片的window mode属性,指定flash在浏览器中的透明,层叠及位置。
   ·Window 影片在浏览器中自己的矩形窗口内播放。
   ·Opaque 影片隐藏了所有在它后面的内容。
   ·Transparent 使flash影片透明,显示透明影片后面的网页内容。这将会降低动画的性能。而且这个属性不是在所有浏览器中都可用的。
  ·BGCOLOR - (#RRGGBB, 十六进制RGB值。)指定影片的背景颜色。使用这个属性覆盖flash中设定的背景颜色。
  ·BASE - 设定基准目录或URL,用来解决所以flash中的相对路径。类似网页中的<base>标签。
  ·FLASHVARS 传递变量到flash player,需要flash player6及以后的版本。
   ·传递root级变量到影片。字符串的格式是用“&”分隔的name=value集。
   ·浏览器支持64kB大小的字符串长度。

转载于:https://www.cnblogs.com/zhang1016/archive/2006/09/19/508143.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
<script language="JavaScript"> var movie,timer,step,total,state=null,delay=100 function init(){//在 Flash 加载完成后初始化相关变量的函数 /*捕获 id 为 movie 的对象,若要兼容NS, 可用 window.document.movie 代替*/ movie=document.getElementById("movie") //每 delay 毫秒执行一次 showStatus() 函数 timer=setInterval("showStatus()",delay) total=movie.TotalFrames //获取 Flash 的总帧数 step=total/50|0 //快进快退时的步长 buttonState(false) //调用 buttonState() 函数,设置控制按钮可用 movie.width=Math.min(movie.TGetProperty("_level0",8),document.body.clientWidth-25)//设置 Flash 的宽 //设置 Flash 的高 movie.height=movie.TGetProperty("_level0",9) } function Rewind(){ movie.Rewind() //使 Flash 返回到第一帧 } function Back(){//控制快退的函数 //如果当前帧数不为 0 并且 Flash 不处于快进状态 if(movie.FrameNum!=0&&state!="forward"){ state="back" //设置状态变量为 back Quick() //调用实现快进快退的 Quick() 函数 // delay 毫秒后再次执行 Back() 函数,以实现不断快退的效果 setTimeout("Back()",delay) } else state=null //快退完成后设置状态变量 state 为 null } function Play(){ movie.Play() //播放 Flash } function Pause(){ /*如果 Flash 正在播放,就调用 Flash 的 StopPlay() 方法使之停止播放, 否则调用 Flash 的 Play() 方法使之播放*/ with(movie)IsPlaying()?StopPlay():Play() } function Stop(){ movie.StopPlay() //停止播放 Flash } function Forward(){ //如果当前帧数不在最后一帧并且 Flash 不处于快退状态 if(movie.FrameNum!=total-1&&state!="back"){ state="forward" //设置状态变量为 back Quick() //调用实现快进快退的 Quick() 函数 // delay 毫秒后再次执行 orward() 函数,以实现不断快进的效果 setTimeout("Forward()",delay) } else state=null //快进完成后设置状态变量 state 为 null } function GoToEnd(){ movie.GoToFrame(total-1) //跳到 Flash 的最后一帧 } function Replay(){ Rewind() //使 Flash 返回到第一帧 Play() //播放 Flash /*因为多数 Flash 都有一个停止的画面,让用户点击播放按钮后再播放,在 delay*5 毫秒后执行 Play(),可以跳过那个画面(仅适用于部分 Flash)*/ setTimeout("Play()",delay*5) } function showStatus(){ var N=movie.FrameNum+1 //取得 Flash 当前播放到的帧数 //根据 Flash播放进度设置 id 为 bar 的表格的宽度 bar.style.width=Math.round(N*100/total)+"%" //在 id 为 frameCount 的对象显示当前帧数和总帧数 frameCount.innerText=N+"/"+total } function Quick(){ //根据当前状态,计算快进或快退时将要跳转到的目标帧 var targetFrame=movie.FrameNum+step*{back:-1,forward:1}[state] movie.GoToFrame(targetFrame) //跳到目标帧 } function selectMovie(){ /*触发 id 为 moviefile 的上传控件的 Click (单击)事件, 使之弹出"选择文件"对话框*/ document.getElementById("moviefile").click() } function loadMovie(){ //取得触发本事件的对象的值(上传控件的内容) var file=event.srcElement.value //通过判断所选择文件的扩展名是否为".swf"以实现简单的过滤 if(/\w\.swf$/.test(file)) { movie.LoadMovie(0,file) //加载 Flash 文件 loaded() //调用下载进度显示的函数 } //如果文件名为".swf"以外的,弹出警告说明 else alert("文件格式错误,请重新选择") } function buttonState(de){ //捕获 id 为 ctlButtons 的对象内的所有标签名为 "button" 的对象 var buttons=ctlButtons.document.all.tags("BUTTON") //设置除"打开 Flash 文件"按钮以外的所有控制按钮的禁用状态 for(var i=0;i<buttons.length-1;i++) buttons[i].disabled=de } function loaded(){ //捕获 id 为 movie 的对象 var movie=document.getElementById("movie") if(movie.PercentLoaded()==100)//如果 Flash 下载完成 init() //调用初始化有关变量的函数 init() //否则在 delay 毫秒后再次执行 loaded() 函数 else setTimeout("loaded()",delay) //根据下载量显示 id 为 bar 的表格的宽度 bar.style.width=movie.PercentLoaded()+"%" frameCount.innerText=bar.style.width //显示下载百分比 } </script> <style> body,td,button{font:normal 12px Tahoma;color:#333333;text-align:center} button{border:1px solid #333333;background:#EEEEEE;margin:2px;font-family:Webdings;height:20px} </style> </head> <body topmargin="0"> <div style="border:1px solid #666666;padding:3px"> <object id="movie" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="550" height="400" align="middle"> <param name="allowScriptAccess" value="sameDomain" /> <param name="movie" value="flash/只有爱是不会忘记的.swf" /> //换成你的swf地址// <param name="quality" value="high" /> <param name="menu" value="false" /> <param name="scale" value="noscale" /> <param name="bgcolor" value="#000000" /> <embed name="movie" src="http://file.flash8.net/film/cn2001/snake/snake05.swf" menu="false" quality="high" bgcolor="#000000" width="550" height="400" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /> </object> <table style="width:550px" cellspacing="0" cellpadding="0" border="0"> <tr> <td style="vertical-align:middle"> <table style="border:1px solid #333333;width:90%;height:5px" cellpadding="1" cellspacing="0"> <tr> <td style="text-align:left;vertical-align:middle"> <table cellspacing="0" cellpadding="0" id="bar" style="width:0%;height:3px;background:#00FF44"> <tr> <td> </td> </tr> </table> </td> <tr> </table> </td> <td style="text-align:right;width:50px" id="frameCount"></td> </tr> </table> <span id="ctlButtons"> <button onClick="Rewind()" title="跳至第一帧">9</button> <button onClick="Back()" title="快退">7</button> <button onClick="Play()" title="播放">4</button> <button onClick="Pause()" title="暂停">;</button> <button onClick="Stop()" title="停止"><</button> <button onClick="Forward()" title="快进">8</button> <button onClick="GoToEnd()" title="跳至最末帧">:</button> <button onClick="Replay()" title="重放">q</button> <button onClick="selectMovie()" title="打开 Flash 文件">5</button><input type="file" id="moviefile" style="display:none" onpropertychange="loadMovie()"></span> <script defer> buttonState(true) //在 Flash 文件未下载完之前禁用控制按钮 loaded() //调用下载进度显示的函数 </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值