HTML <object> 标签有什么作用?又是怎么使用的呢?
object标签用于定义一个嵌入的对象,包括:图像、音频、Java applets、ActiveX、PDF以及Flash。该标签允许您规定插入HTML文档中的对象的数据和参数,以及可用来显示和操作数据的代码。常用的功能包括显示图片,显示网页,播放音频,显示日历,显示图形,显示Flash,播放视频,嵌入Java applets,嵌入ActiveX等。
使用HTML <object> 标签播放 MP4 视频例子:
<html>
<body>
<object width="420" height="360"
classid="clsid:02BF25D5-8C27-4B2F-BC8D-D3488BBDDF6B"
codebase="http://www.169it.com/test/xxxxxxx.cab">
<param name="src" value="movie.mp4" />
<param name="controller" value="true" />
</object>
</body>
</html>
object标签实例2
使用<object> 元素在 HTML 加入 Flash 文件:
<object width="400" height="400" data="helloworld.swf"></objec
目前大多数浏览器支持 <object> 标签。
标签定义及使用说明
定义一个嵌入的对象。请使用此元素向您的 XHTML 页面添加多媒体。此元素允许您规定插入 HTML 文档中的对象的数据和参数,以及可用来显示和操作数据的代码。
<object> 标签用于包含对象,比如图像、音频、视频、Java applets、ActiveX、PDF 以及 Flash。
object 的初衷是取代 img 和 applet 元素。不过由于漏洞以及缺乏浏览器支持,这一点并未实现。
浏览器的对象支持有赖于对象类型。不幸的是,主流浏览器都使用不同的代码来加载相同的对象类型。
而幸运的是,object 对象提供了解决方案。如果未显示 object 元素,就会执行位于 <object> 和 </object> 之间的代码。通过这种方式,我们能够嵌套多个 object 元素(每个对应一个浏览器)。
一些 HTML 4.01 属性在 HTML5 中不被支持。
"form" 是 HTML5 定义的新属性。
在 HTML5 中,objects 可以在form表单中提交。
在 HTML5 中,objects 不再出现在 <head> 元素区域内。
属性
New:HTML5 新属性。
属性 | 值 | 描述 |
---|
align | top bottom middle left right | HTML5 不支持。HTML 4.01 已废弃。 规定 <object> 元素相对于周围元素的对齐方式。 |
archive | URL | HTML5 不支持。由空格分隔的指向档案文件的 URL 列表。这些档案文件包含了与对象相关的资源。 |
border | pixels | HTML5 不支持。HTML 4.01 已废弃。 规定 <object> 周围的边框宽度。 |
classid | class_ID | HTML5 不支持。定义嵌入 Windows Registry 中或某个 URL 中的类的 ID 值,此属性可用来指定浏览器中包含的对象的位置,通常是一个 Java 类。 |
codebase | URL | HTML5 不支持。定义在何处可找到对象所需的代码,提供一个基准 URL。 |
codetype | MIME_type | HTML5 不支持。通过 classid 属性所引用的代码的 MIME 类型。 |
data | URL | 规定对象使用的资源的 URL。 |
declare | declare | HTML5 不支持。定义该对象仅可被声明,但不能被创建或例示,直到该对象得到应用为止。 |
formNew | form_id | 规定对象所属的一个或多个表单。 |
height | pixels | 规定对象的高度。 |
hspace | pixels | HTML5 不支持。HTML 4.01 已废弃。 规定对象左侧和右侧的空白。 |
name | name | 为对象规定名称。 |
standby | text | HTML5 不支持。定义当对象正在加载时所显示的文本。 |
type | MIME_type | 规定 data 属性中规定的数据的 MIME 类型。 |
usemap | #mapname | 规定与对象一同使用的客户端图像映射的名称。 |
vspace | pixels | HTML5 不支持。HTML 4.01 已废弃。 规定对象的顶部和底部的空白。 |
width | pixels | 规定对象的宽度。 |
HTML <object> 标签的重要属性详解
archive 属性
因为性能方面的原因,可以选择预先下载包含一个或多个档案中的对象集。对基于 Java 的应用程序来说尤其是这样,在这些应用程序中,一个 Java 类将会依赖于很多其他类才能完成它的工作。archive 属性的值是一个用引号括起来的 URL 列表,其中每个 URL 都指向一个在显示或执行对象之前浏览器需要加载的档案文件。
classid 属性
classid 属性用于指定浏览器中包含的对象的位置,通常是一个 Java 类。它的值是对象的绝对或相对的 URL。如果提供了 codebase 属性的话,相对 URL 是相对于 codebase 属性指定的 URL 而言的;否则,它们是相对于当前文档的 URL。
例如,为了执行包含在 clock.class 文件中的时间 Java applet,可以在 HTML 文档中包含如下的代码:
<object classid="clock.class"></object>
浏览器将会用当前文档的基本 URL 为这个 applet 查找代码。因此,如果当前文档的 URL 如下所示:
http://www./time.html
浏览器将会在下列地址为我们的 clock.class 实例获取 applet 代码:
http://www./clock.class
提示:classid 属性与 <applet> 标签的 code 属性类似,提供了包含这个对象的文件名。
codebase 属性
codebase 属性是一个可选的属性,提供了一个基本的 URL。该属性的值是一个 URL,该 URL 指向的目录包含了 classid 属性所引用的对象。
codebase URL 会覆盖文档的基本 URL,但不会永久替代它。如果不使用 codebase 属性,这个基本 URL 就是默认值。
现在,我们继续使用前面的那个例子,假设文档来源于 http://www.w3school.com.cn,但是这个时钟 applet 放在一个名为 classes 的单独目录中。通过指定 classid= "classes/clock.class" 无法获得这个 applet。相反,需要将 codebase 属性和新的基本 URL 包含在内:
<object classid="clock.class" codebase="http://www./classes/">
</object>
这行语句可以解析为这个 URL:
http://www./classes/clock.class
尽管我们在此例中使用了绝对 URL,实际上也可以使用相对 URL。例如,applet 往往和主机文档一起保存在同一台服务器上,因此,处于重新定位的缘故,为 codebase 指定一个相对的 URL,情况往往更好一些,例如:
<object classid="clock.class" codebase="/classes/">
</object>
提示:从以上几个例子可以看到,codebase 属性与 classid 属性配合使用,可以指定对象的完整 URL。
codetype 属性
codetype 属性用于标识程序代码类型。
只有在浏览器无法根据 classid 属性决定 applet 的 MIME 类型,或者如果在下载某个对象时服务器没有传输正确的 MIME 类型的情况下,才需要使用 codetype 属性。codetype 属性与 type 属性类似。不同的是,它用来标识程序代码类型,而 type 属性用来标识数据文件类型。
下面这个例子显式地告知浏览器,对象的代码是 Java:
<object codebase="clock.class" codetype="application/java">
</object>
declare 属性
declare 属性可以定义一个对象,但同时防止浏览器进行下载和处理。
与 name 属性一起使用时,这个工具类似于更为传统的编程语言中的某种前置声明,这样的声明能够延迟下载对象的时间,直到这个对象确实在文档中得到了应用。
data 属性
data 属性用于指定供对象处理的数据文件的 URL。
该属性的值是文件的 URL,该 URL 可能是相对于文件基本 URL 的绝对 URL 或相对 URL,或者是相对于用 codebase 属性提供的 URL 的绝对或相对 URL。浏览器通过插入到文档中的对象类型来决定数据的类型。
该属性类似于 <img> 标签中的 src 属性,因为它下载的是要由包含对象进行处理的数据。当然,它们之间的差别在于,data 属性允许包含几乎任何文件类型,而不仅仅是图像文件。
<p> 标签支持全局属性,查看完整属性表 HTML全局属性。
<p> 标签支持所有 HTML事件属性。