HTML <object>, <param> 嵌入外部資源 (external resource)
<object> 標籤 (tag) 用來在網頁中嵌入外部資源,這個資源像是一張圖片、一個 browsing context 或一個瀏覽器外掛 (plugins) 像是 Flash, PDF 等。
<object> 標籤上的屬性 (attributes):
data
: 外部資源的位址 (URL)type
: 要嵌入的資源的 MIME typetypemustmatch
: 指定瀏覽器需檢查載入的外部資源的 MIME type 要和設定的type
屬性一致,增強安全性考量name
: 指定此 object 元素的名稱width
: 一個數字,指定嵌入內容的顯示寬度,單位是像素 (pixel)height
: 一個數字,指定嵌入內容的顯示高度,單位是像素 (pixel)usemap
: 指定一個關聯的 <map> 元素的 hash-name;值的格式為#
加 <map> 元素的 name 名稱form
: 指定一個關聯的 <form> 表單元素的id
<object> 標籤裡面可以有零個或多個 <param>
標籤,用來設定對外部資源的控制參數,不同的外部資源或外掛會有自己不同的參數可以設定。
<param> 語法:
<param name="參數名稱" value="參數值">
<object> 使用範例:
嵌入 Flash
<object data="move.swf" type="application/x-shockwave-flash"></object>
嵌入 Flash 並設定參數
<object data="move.swf" type="application/x-shockwave-flash">
<param name="foo" value="bar">
</object>
嵌入 PDF
<object type="application/pdf"
data="example.pdf"
width="250"
height="200">
</object>
在 <param> 後面可以放當外部資源載入失敗時給瀏覽器顯示的內容:
<object data="move.swf" type="application/x-shockwave-flash">
<p>Flash 載入失敗</p>
</object>
<object> 和 <embed> 之間的差異?
<object> 和 <embed> 的用途其實蠻類似的,細節差異大概是 <object> 安全性好一些,也可以設定當資源載入失敗時的 fallback 內容。