欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

html标签之Object和EMBED标签详解

程序员文章站 2023-11-21 12:41:16
为在浏览器中进行Flash影片的播放,HTML文档中必须包含和标签,并进行参数设置,OBJECT标签有4个设定(HEIGHT, WIDTH, CLASSID和CODEBASE),都是它的属性,感兴趣的朋友可以了解本文... 13-07-04...
定义和用法

定义一个嵌入的对象。请使用此元素向您的 xhtml 页面添加多媒体。此元素允许您规定插入 html 文档中的对象的数据和参数,以及可用来显示和操作数据的代码。

<object> 标签用于包含对象,比如图像、音频、视频、java applets、activex、pdf 以及 flash。

object 的初衷是取代 img 和 applet 元素。不过由于漏洞以及缺乏浏览器支持,这一点并未实现。

浏览器的对象支持有赖于对象类型。不幸的是,主流浏览器都使用不同的代码来加载相同的对象类型。

而幸运的是,object 对象提供了解决方案。如果未显示 object 元素,就会执行位于 <object> 和 </object> 之间的代码。通过这种方式,我们能够嵌套多个 object 元素(每个对应一个浏览器)。

使用对象(object)和嵌入(embed)标签
为在浏览器中进行flash影片的播放,html文档中必须包含和标签,并进行参数设置。对embed标签来说,与它一同括在括号中的设定(如height, width, quality和loop等)都是它的属性,例如:
<embed src="moviename.swf" width="100" height="100" play="true" loop="true" quality="high" pluginspage="http://www.macromedia.com/shockwave/download/ index.cgi?p1_prod_version=shockwaveflash"> </embed>
object标签有4个设定(height, width, classid和codebase),都是它的属性。其他设定在html文档中都是独立出现,称之为参数标签。例如:
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="100" height="100"codebase="http://active.macromedia.com/flash4/cabs/ swflash.cab#version=4,0,0,0"> <param name="movie" value="moviename.swf"> <param name="play" value="true"> <param name="loop" value="true"> <param name="quality" value="high"> </object>

src
取值:影片名称(如moviename.swf)。
对应的模版变量:$mo
功能描述:指定要载入影片的名称,仅适用于“embed”标志中。

movie
取值:影片名称(如moviename.swf)。
对应的模版变量:$mo
功能描述:指定要载入影片的名称,仅适用于“object”标志中。

classid
取值:clsid:d27cdb6e-ae6d-11cf-96b8-444553540000
功能描述:指明浏览器所用的activex控件,必须完全与上面的值相同,仅适用于“object”标志中。

width
取值:数字或百分数。
对应的模版变量:$wi.
功能描述:以像素数或浏览器窗口宽度的百分数形式指定影片的宽度。

height
取值:数字或百分数。
对应的模版变量:$he
功能描述:以像素数或浏览器窗口高度的百分数形式指定影片的高度。

因为flash影片是可缩放的,所以在保持长宽比的前提下改变影片幅面的大小不会使影片的显示质量降低。

codebase
取值:http://active.macromedia.com/flash4/cabs/swflash.cab
#version=4,0,0,0"

功能描述:指明flash播放器的activex控件的位置,当浏览器未安装它时,可自动到该位置下载。所赋的值必须完全与上面的值相同。仅适用于“object”标志中。

pluginspage
取值:http://www.macromedia.com/shockwave/download/ index.cgi?
p1_prod_version=shockwaveflash
功能描述:指明flash播放器插件的位置,在需要时便于安装。所赋的值必须完全与上面的值相同。仅适用于“embed”标志中。

swliveconnect(可选)
取值:true或false.
功能描述:用于确定在第一次载入flash播放器时是否启动java,当该项被省略时取默认值false。无论什么时候只要在同一页面中包含javascript程序和flash,为使“fs commands”语句起作用,必须运行java,但如果页面中的javascript程序仅用来实现监测浏览器的类型或其他与“fs commands”语句无关的功能,则可以把swliveconnect置为false以阻止java的启动,要启动java,可显式地将swliveconnect 置为true,这将大大增加影片开始播放过程所用的时间。仅适用于“embed”标志中。

play(可选)
取值:true或false.
对应的模版变量:$pl.
功能描述:用于指定当影片下载到浏览器之后是否立即播放。如果影片中包含交互元素,也许需要被演示者的相关操作来启动播放,这时可将该属性置为false来阻止影片的自动播放,该属性被省略时将按默认值true执行。

loop(可选)
取值:true或false。
对应的模版变量:$lo.
功能描述:指定影片是重复播放还是播放一遍后停止。该属性被省略时将按默认值true执行。

quality(可选)
取值:low、high、autolow、autohig或best。
对应的模版变量:$qu.
功能描述:见前述。

该属性被省略时将按默认值high执行。

bgcolor(可选)
取值:#rrggbb(16进制的rgb值)。
对应的模版变量:$bg
指定影片的背景色,该属性可取代flash影片文件中背景色的设定,但不影响影片所在html页的背景色设定。

scale(可选)
取值:showall、noborder、exactfit.
对应的模版变量:$sc.
功能描述:当宽度和高度值以百分数表示时,确定影片被如何放置在浏览器窗口中。选项有以下几个:

“show all” (默认值)在指定尺寸的区域中显示整个影片的内容并保持与原影片相同的长宽比例,影片内容不发生变形。
“no border”在维持影片长宽比例的情况下填充指定区域,影片内容不发生变形,但影片的部分内容可能显示不出来。
“exact fit”使整个影片在指定区域可见,因为此时不再维持原有的长宽比例,所以影片有可能变形。

该属性被省略(且宽度和高度值以百分数表示时)时将按默认值showall 执行。

align
取值:l、r 、t、b.
对应的模版变量:$ha.
功能描述:设置“object”、“embed”和“img”标签中的“align”属性,决定影片在浏览器窗口中的位置。

省略时使影片置于浏览器窗口的*,如果浏览器窗口尺寸比影片所占区域尺寸小,将调整浏览器窗口尺寸,使影片正常显示。

“l”值使影片与浏览器窗口的左边对齐,如果浏览器窗口不足以容纳影片,将调整窗口的上下边和右边。
“r”值使影片与浏览器窗口的右边对齐,如果浏览器窗口不足以容纳影片,将调整窗口的上下边和左边。
“t” 值使影片与浏览器窗口的顶边对齐,如果浏览器窗口不足以容纳影片,将调整窗口的左右边和底边。
“b” 值使影片与浏览器窗口的底边对齐,如果浏览器窗口不足以容纳影片,将调整窗口的左右边和顶边。

salign(可选)
取值:l 、r 、t、 b、tl、tr、bl、br.
对应的模版变量:$sa
功能描述:用于确定经缩放的影片在一指定宽高尺寸的区域中如何放置。各种取值的含义可参见上一项。

base(可选)
取值:基准路径或url。
功能描述:用于指定影片中所用到的相对路径的基准位置。

menu(可选)
取值:true、false.
对应的模版变量:$me.
功能描述:用于指定在浏览器中当对影片所占区域右击鼠标(对windows)或按住“command”键单击鼠标(对macintosh)时出现的快捷菜单的类型。
“true”值将显示整个菜单,允许被演示者对放映过程进行多种控制。
“false”值将显示只包含“about flash”菜单项的菜单。

该属性被省略时将按默认值“true”执行。

wmode(可选)
取值:window、opaque、transparent.
对应的模版变量:$wm.
功能描述:该参数仅在有flash active x空间的windows系统中适用。

“window”值使得影片在网页中指定的位置播放,这也是几种选项中播放速度最快的一种。
“opaque windowless”值将挡住网页上影片后面的内容。
“transparent”值使得网页上影片中的透明部分显示网页的内容与背景,有可能降低动画速度。

该属性被省略时将按默认值“window”执行,只能用在object标记中。

一、介绍:

我们要在网页中正常显示flash内容,那么页面中必须要有指定flash路径的标签。也就是object和embed标签。object标签是用于windows平台的ie浏览器的,而embed是用于windows和macintosh平台下的netscape navigator浏览器以及macintosh平台下的ie浏览器。windows平台的ie利用activex控件来播放flash而其它的浏览器则使用netscape插件技术来播放flash。

下面是简单的网页中插入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" id="mymoviename">
<param name=movie value="myflashmovie.swf">
<param name=quality value=high>
<param name=bgcolor value=#ffffff>
<embed src="http://www.doflash.net/"/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大小的字符串长度。