网页中插入FLASH代码的参数解释与使用技巧

一:代码解释

代码:

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"
WIDTH="550" HEIGHT="400" >
<PARAM VALUE="myFlashMovie.swf">
<PARAM VALUE=high>
<PARAM VALUE=#FFFFFF>
<EMBED src="/support/flash/ts/documents/myFlashMovie.swf" quality=high bgcolor=#FFFFFF WIDTH="550" HEIGHT="400"
NAME="myMovieName" ALIGN="" TYPE="application/x-shockwave-flash"
PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer">
</EMBED>
</OBJECT>

 

解释:

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大小的字符串长度。
·更多关于FlashVars的信息,请查看相关文档。
二:一些技巧
(一)首先教大家最简单的插入Flash的代码,透明,无坐标控制:

注意wmode="transparent"是控制Flash是否透明显示的,如果不想让它显示为透明的,直接把wmode="transparent"去掉即可。

<EMBED height=360 pluginspage=http://www.macrom edia.com/go/getflashplayer
src=http://imgfree.21cn.com/ free/flash/17.swf
type=application/x-shockwave-flash&nb sp;width=500 wmode="transparent"
quality="high"></EMBED>

(二)再教教大家加入绝对坐标的透明Flash,绝对坐标意味着不管你的窗口拉多大,那个Flash依然乖乖地在原地不动
<EMBED style=" LEFT: 250px; WIDTH: 550px; POSITION:&nbs p;absolute; TOP:
200px; HEIGHT: 1000px " align=right src=http://user.hjenglish.com/yangbb/
pics/snow.swf width=500 height=2000 type=appl ication/octet-stream ;
quality= "high" wmode="transparent">

(三)最后教教大家如何加入相对坐标的透明Flash,注意下面代码的table部分,这主要是使用表格作为容器,把Flash
“装”到表格里,这样不管浏览者把浏览器拉多大,Flash永远和表格一起动。而且,表格可以设置背景图片,表格上面再放一个透
明Flash与背景图片相配合,哇塞,效果好得不得了
<table border="0" cellPadding="0" cellSpacing="0" width=600 height=382
align=center backg
round=http://image.hjbbs.com/img/200410/200410259222581234.j pg>
<TD width=600 height=382><EMBED plug
inspage=http://www.macromedia.com/go/getflashplayer &nb sp;
src=http://user.hjenglish.com/yangbb/pics/hearts.swf wi dth="100%"
height="100%"
type=application/x-shockwave-flash wmode="transparent"
quality="high"></EMBED></TD></td></table>

------------------------------------------------------------ ------
还有以下方法:
基于网页排版的实现方法
你可以先准备好一张图片和一个适合做透明效果的flash,然后打开DREAMWEAVER中新建一个网页,插入一个一行一列的
单元格,单元格的规格大小和事先准备好的图片宽高一样,然后把这个图片设为单元格的背景图片,设置完了后,在这个单元格中插入准
备好的flash了,其中flash的大小规格也应该调成和单元格一样大小。用鼠标选中flash后,把网页编辑状态由“设计”
切换到“代码中,你会看到flash部分在源代码中都变成了黑色了,代码实例如下:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="
[url]http://download.macromedia.com/pub/shockwave/cabs/flash/swfl[/url]
ash.cab#version=6,0,29,0" width="470" height="180">
<param name="movie" value="0.swf">
<param name="quality" value="high">
<embed src="0.swf" quality="high"
pluginspage=" http://www.macromedia.com/go/getflashplayer"
type="application/x-shockwave-flash" width="470" height="180"></embed>
</object>
在以上代码中插入这么一段代码:<param name="wmode" value="transparent">,完整代码如下:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="
[url]http://download.macromedia.com/pub/shockwave/cabs/flash/swfl[/url]
ash.cab#version=6,0,29,0" width="470" height="180">
<param name="movie" value="0.swf">
<param name="wmode" value="transparent">
<param name="quality" value="high">
<embed src="0.swf" quality="high"
pluginspage=" http://www.macromedia.com/go/getflashplayer"
type="application/x-shockwave-flash" width="470" height="180"></embed>
</object>
基于CSS排版 把核心思想把握,在有背景图片的DIV标签中再插入flash,然后对flash部分加入以上代码就行了。
在flash的html发布选项中选windows mode/t ransparent
windowless,发布为html,插入网页就可以得到透明的flash的效果。
  不错,照这样的办法去做,便可以发布出带有透明flash的html页。但是它存在一个问题:所发布的flash动画只在与
其同时发布的html页中显示透明效果,而如果用dreamweaver新建一个文件,再将其插入页面中,保存-->&g
t;f12预览我们会发现它又是不透明的了!这是怎么回事呢?
  我仔细比较了用flash发布的html页和用dreamweaver制作的带有flash 动画的两个html 页的源代码:
  1.用flash发布的html页源代码:
<HTML>
<HEAD>
<TITLE>Movie2</TITLE>
</HEAD>
<BODY bgcolor="#000000">
<!-- URL's used in the movie-->
<!-- text used in the movie--> ;
<!--fdsaaaa aaaaaaa -->
<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=550 HEIGHT=400>
<PARAM NAME=movie value="Movie2.swf">
<PARAM NAME=quality value=high>
<PARAM NAME=wmode value=transparent>
<PARAM NAME=bgcolor value=#FFFFFF> <!--用flash导出后将背景改为黑色,其目的是便于观察透明效果-->
<EMBED src="Movie2.swf" quality=high wmode=transparent bgcolor=#FFFF FF
WIDTH=550 HEIGHT=400 TYPE= "application/x-shockwave-flash" PLUGINSPAGE="
[url]http://www.macromedia.com/shockwave/download/index.cgi?P1_Pr[/url]
od_Version
=ShockwaveFlash"></EMBED>
</OBJECT>
</BODY>
</HTML>
  2.用dreamweaver制作的带有flash 动画的html页的源代码:
<html>
<head>
<title>Untitled document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body bgcolor="#000000" text="#000000"><!--背景亦为黑色,其目的是便于观察透明效果-->
<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="550" height="400">
<param name=movie value="Movie2.swf">
<param name=quality value=high>
<embed src="Movie2.swf" quality=high pluginspage="
[url]http://www.macromedia.com/shockwave/download/index.cgi?P1_Pr[/url]
od_Version
=ShockwaveFlash" type="application/x-shockwave-flash" width="550"
height="400">
</embed>
</object>
</body>
</html>
  请仔细比较分析两段代码的<object>标记中的<embed>标记,我们发现其中的不同之处:
前者有参数wmode=transparent而后者却没有,这就是影响flash是否透明的关键之所在!
  请想一下dreamweaver的有关flash的属性面板,是否对parameter有印象呢?大家是否知道它的用处呢?
  现在让我们用dreamweaver来做透明效果:选中刚才已插入的flash动画,右击鼠标选择properties调出
属性面板后,再单击parameter按钮,在弹出的对话框中点击加号图标,在左侧的parameter中键入wmode在右侧
的value框内键入transparent点击ok,按f12进行预览,ok!我们所要的透明效果就出现了!
  先不要激动,我们把这一技巧推广,它是否能对任何的按flash默认设置(即不对windows mode/tr ansparent
windowless进行修改)的动画都奏效呢?经过我的实验证明它是普遍试用的。也就是说在d
reamweaver中插入任何一个flash动画后,对其进行properties→parameter→wmode→
value=transparent设置都可以实现flash的透明背景效果。
-------------------------------------------------------------------------------------------------------------
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase=" http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="789" height="283">
<param name="movie" value="tit.swf">
<param name="quality" value="high">
<embed src="../images/tit.swf" quality="high" pluginspage=" http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="789" height="283"></embed>
</object>

 

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 //显示下载百分比 } 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} //换成你的swf地址// 9 7 4 ; < 8 : q 5 buttonState(true) //在 Flash 文件未下载完之前禁用控制按钮 loaded() //调用下载进度显示的函数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值