HTML <object> 標(biāo)簽的重要屬性
archive 屬性
因?yàn)樾阅芊矫娴脑颍梢赃x擇預(yù)先下載包含一個(gè)或多個(gè)檔案中的對(duì)象集。對(duì)基于 Java 的應(yīng)用程序來說尤其是這樣,在這些應(yīng)用程序中,一個(gè) Java 類將會(huì)依賴于很多其他類才能完成它的工作。
archive 屬性的值是一個(gè)用引號(hào)括起來的 URL 列表,其中每個(gè) URL 都指向一個(gè)在顯示或執(zhí)行對(duì)象之前瀏覽器需要加載的檔案文件。
classid 屬性
classid 屬性用于指定瀏覽器中包含的對(duì)象的位置,通常是一個(gè) Java 類。
它的值是對(duì)象的絕對(duì)或相對(duì)的 URL。如果提供了 codebase 屬性的話,相對(duì) URL 是相對(duì)于 codebase 屬性指定的 URL 而言的;否則,它們是相對(duì)于當(dāng)前文檔的 URL。
例如,為了執(zhí)行包含在 clock.class 文件中的時(shí)間 Java applet,可以在 HTML 文檔中包含如下的代碼:
<object classid="clock.class"
></object>
瀏覽器將會(huì)用當(dāng)前文檔的基本 URL 為這個(gè) applet 查找代碼。因此,如果當(dāng)前文檔的 URL 如下所示:
http://www.dbjr.com.cn/time.html
瀏覽器將會(huì)在下列地址為我們的 clock.class 實(shí)例獲取 applet 代碼:
http://www.dbjr.com.cn/clock.class
提示:classid 屬性與 <applet> 標(biāo)簽的 code 屬性類似,提供了包含這個(gè)對(duì)象的文件名。
codebase 屬性
codebase 屬性是一個(gè)可選的屬性,提供了一個(gè)基本的 URL。該屬性的值是一個(gè) URL,該 URL 指向的目錄包含了 classid 屬性所引用的對(duì)象。
codebase URL 會(huì)覆蓋文檔的基本 URL,但不會(huì)永久替代它。如果不使用 codebase 屬性,這個(gè)基本 URL 就是默認(rèn)值。
現(xiàn)在,我們繼續(xù)使用前面的那個(gè)例子,假設(shè)文檔來源于 http://www.dbjr.com.cn,但是這個(gè)時(shí)鐘 applet 放在一個(gè)名為 classes 的單獨(dú)目錄中。通過指定 classid= "classes/clock.class" 無法獲得這個(gè) applet。相反,需要將 codebase 屬性和新的基本 URL 包含在內(nèi):
<object classid="clock.class" codebase="http://www.dbjr.com.cn/classes/"
>
</object>
這行語句可以解析為這個(gè) URL:
http://www.dbjr.com.cn/classes/clock.class
盡管我們在此例中使用了絕對(duì) URL,實(shí)際上也可以使用相對(duì) URL。例如,applet 往往和主機(jī)文檔一起保存在同一臺(tái)服務(wù)器上,因此,處于重新定位的緣故,為 codebase 指定一個(gè)相對(duì)的 URL,情況往往更好一些,例如:
<object classid="clock.class" codebase="/classes/"
>
</object>
提示:從以上幾個(gè)例子可以看到,codebase 屬性與 classid 屬性配合使用,可以指定對(duì)象的完整 URL。
codetype 屬性
codetype 屬性用于標(biāo)識(shí)程序代碼類型。
只有在瀏覽器無法根據(jù) classid 屬性決定 applet 的 MIME 類型,或者如果在下載某個(gè)對(duì)象時(shí)服務(wù)器沒有傳輸正確的 MIME 類型的情況下,才需要使用 codetype 屬性。
codetype 屬性與 type 屬性類似。不同的是,它用來標(biāo)識(shí)程序代碼類型,而 type 屬性用來標(biāo)識(shí)數(shù)據(jù)文件類型。
下面這個(gè)例子顯式地告知瀏覽器,對(duì)象的代碼是 Java:
<object codebase="clock.class" codetype="application/java"
>
</object>
declare 屬性
declare 屬性可以定義一個(gè)對(duì)象,但同時(shí)防止瀏覽器進(jìn)行下載和處理。
與 name 屬性一起使用時(shí),這個(gè)工具類似于更為傳統(tǒng)的編程語言中的某種前置聲明,這樣的聲明能夠延遲下載對(duì)象的時(shí)間,直到這個(gè)對(duì)象確實(shí)在文檔中得到了應(yīng)用。
data 屬性
data 屬性用于指定供對(duì)象處理的數(shù)據(jù)文件的 URL。
該屬性的值是文件的 URL,該 URL 可能是相對(duì)于文件基本 URL 的絕對(duì) URL 或相對(duì) URL,或者是相對(duì)于用 codebase 屬性提供的 URL 的絕對(duì)或相對(duì) URL。
瀏覽器通過插入到文檔中的對(duì)象類型來決定數(shù)據(jù)的類型。
該屬性類似于 <img> 標(biāo)簽中的 src 屬性,因?yàn)樗螺d的是要由包含對(duì)象進(jìn)行處理的數(shù)據(jù)。當(dāng)然,它們之間的差別在于,data 屬性允許包含幾乎任何文件類型,而不僅僅是圖像文件。