object
适用DTD:Strict Transitional Frameset   适用浏览器:All
释义
嵌入对象(embed object)

语法
<object 属性="属性值">~标签内容~</object>

说明
object用来将各式各样的数据配置到网页中,就是在网页中嵌入对象,例如影像、图片、动画,甚至是Word文件,最常用的是用来处理ActiveX控件,还被期望用于处理appletembedbgsoundimg等元素所能完成的的任务
object元素只负责将各种格式的数据配置到网页文件中,至于数据是否能正常显示,这还得看浏览器是否支持。例如flash动画,浏览器必须安装相应插件,否则无法播放
要嵌入对象,通常设计者需要指定3方面信息:object元素允许设计者定义前两部分信息,与之配套的param元素定义第三部分信息
<object>和</object>之间插入的是替换显示内容,一旦客户端浏览器加载对象失败,或者设置为不加载对象,则这个替换显示内容就会显示
终止标签</object>不可省略

属性
属性 属性值 说明
① data URI 必要属性,指定对象数据来源的URI,如果使用相对URI,那么将以codebase属性的属性值为基准
② classid URI 指定对象执行文件/程序的所在的URI,也就是对象内容的位置,可以和data属性联合使用,或者替换后者,具体取决于对象类型。classid属性不能包含任何路径名信息,所以路径信息由codebase属性指定
③ codebase URI 指定classid、data和archive属性的基准URI,基准URI不可包含文件名,如果不指定此属性,那么以当前文档的基准URI作为基础URI
④ codetype MIME类型 指明在下载由classid指定的对象时所期盼数据的内容类型,它可以避免浏览器加载不被支持的内容类型。如果不指定,默认类型和type属性定义的相同
⑤ type MIME类型 用来指定data属性定义的数据的内容类型,它可以避免浏览器加载被支持的内容类型。服务器在检索所请求的对象后所会返回一个HTTP Content-Type,如果此属性值与这个HTTP Content-Type不符,那么后者优先
⑥ archive URI 指定一组包含对象相关资源的压缩档案(如Java Archive,Java applet所需的Java类文件的压缩文件,扩展名为.jar)的URI地址列表,这些地址可包含由classid、data属性定义的资源,由空格分隔。指定对象相关数据来源URI,若有多个数据来源URI,则可复数指定并以空格隔开。这一组由空格隔开的地址列表可包含由classid、data属性定义的资源。预加载这些地址列表有助于减少浏览器加载对象的时间。如果地址中有相对URI,则代表相对于codebase属性定义的而言的地址
⑦ declare 空值|declare 布尔属性。令当前object元素仅作为一个声明而暂不运行,但当前object后面必须有另外一个引用此声明的object元素将它初始化
⑧ standby 字符串 定义当浏览器花时间加载对象的时候所要显示的消息
⑨ usemap URI 将对象设置为客户端图像映射,URI格式为#mapname,其中#mapname对应于map元素的name(或id)属性
⑩ name name名 对象的识别名称,提供给其它元素引用。此属性为了向下兼容而存在。程序应该使用id属性来识别元素,建议同时使用这两个属性并赋予相同的属性值
align 预定义值 align属性控制元素相对于周围内容的水平和对齐方式,字符串值left或right导致对象的边界依附于下一个最外层位置上下文的左右边界;absmiddle、absbottom、baseline、bottom、middle、texttop和top值影响相对于相邻文本的垂直对齐方式。参见img
⑫ width 长度值 指定对象的宽度,正整数像素值或百分比值
⑬ height 长度值 指定对象的高度,正整数像素值或百分比值
border 整数(pixel):0 指定对象的边框宽度,仅在Transitional DTD和Frameset DTD文档中使用
hspace 整数(pixel):0 指定对象周围左右两边的空白宽度,仅在Transitional DTD和Frameset DTD文档中使用
vspace 整数(pixel):0 指定对象周围上下两边的空白宽度,仅在Transitional DTD和Frameset DTD文档中使用
⑰ tabindex 0~32767的整数 指定按下tab键时在网页中活动项目间移动(键盘遍历)的顺序,从属性值最小者开始移动
⑱ accesskey 任意一个字符 指定快捷访问键,Windows下为Alt键加上快捷访问键,Macintosh下为Command键加上此快捷访问键
⑲ 通用属性:id、class、title、style、dir、lang、xml:lang 查看
nbsp;
注:WinIE使用classid属性来指定ActiveX控件的GUID,例如,向网页载入不可见(几乎)的Windows Media Player对象,其HTML语法如下:
<object id="#medplayer" width="1" height="1" classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95" codebase="#version=1, 0, 0 ,0">…</object>
以上代码再页面值插入一个空播放器(需要param元素定义初始参数)。设计者定义其他的classid则会显示不同的播放器(或其他对象),例如QuickTime播放器为“clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B”,Real流媒体播放器为“clsid:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA”。

示范
<object data="data" type="Content-Type">
......
</object>

范例
下面的例子显示了XHTML文件基础结构: 运行打印
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>元素object</title>
</head>
<body>
插入网页:<br><object type="text/html" data="src/test.html" width="400" height="200">
</object>
<hr>插入音频文件mp3:<br>
<object type="audio/x-mpeg" data="src/bg.mp3" width="189" height="60" title="Bugs Bunny">
</object>
<hr>
更详细的例子,参见param元素的范例
</body>
</html>
Object元素在各浏览器中的兼容性不是太好,IE 6及以前版本对它支持程度不太理想,尽管W3C强烈推荐使用它替换img、embed、applet等元素。不过在Firefox、Mozilla等新式浏览器中,object元素得到了很好地支持,然而要播放多媒体则这些新式浏览器需要安装各种插件(甚至是最基本的),这与IE相比显然不太占优势。

参阅
param
applet
embed
客户端图像映射
图片型按钮
map
area