คุณสมบัติ type ของ HTMLObjectElement (<object>) ใช้ **อ่านหรือตั้งค่า** MIME type ของเนื้อหาที่ฝังอยู่ เช่น application/pdf, image/svg+xml, video/mp4
รูปแบบการใช้งาน
// อ่านค่า
const mimeType = objectElement.type;
// ตั้งค่า
objectElement.type = "application/pdf";
MIME Types ที่พบบ่อย
| ประเภท | MIME Type | 副檔名 |
|---|---|---|
application/pdf |
||
| Flash (ล้าสมัย) | application/x-shockwave-flash |
.swf |
| SVG | image/svg+xml |
.svg |
| Video MP4 | video/mp4 |
.mp4 |
| Audio MP3 | audio/mpeg |
.mp3 |
| Java Applet (ล้าสมัย) | application/x-java-applet |
.class, .jar |
ตัวอย่างการใช้งาน
<!DOCTYPE html>
<html>
<body>
<h2>Object Type Property Demo</h2>
<object id="pdfObject"
width="100%"
height="400px"
data="sample.pdf"
type="application/pdf">
<p>เบราว์เซอร์ไม่รองรับ PDF embedding. <a href="sample.pdf">ดาวน์โหลด PDF</a></p>
</object>
<br>
<button onclick="showType()">แสดง MIME Type</button>
<button onclick="changeType()">เปลี่ยนเป็น SVG</button>
<p id="result"></p>
<script>
function showType() {
const obj = document.getElementById('pdfObject');
document.getElementById('result').textContent =
'MIME Type ปัจจุบัน: ' + obj.type;
}
function changeType() {
const obj = document.getElementById('pdfObject');
obj.data = 'image.svg';
obj.type = 'image/svg+xml';
document.getElementById('result').textContent =
'เปลี่ยนเป็น: ' + obj.type;
}
</script>
</body>
</html>
<object> vs <embed> vs <iframe>
| แท็ก | ใช้สำหรับ | type attribute |
|---|---|---|
<object> |
เนื้อหาภายนอกทั่วไป (PDF, SVG, ไฟล์สื่อ) | ✅ รองรับ |
<embed> |
ปลั๊กอิน/เนื้อหาเก่า (Flash, Java) | ✅ รองรับ |
<iframe> |
หน้าเว็บอีกหน้าหนึ่ง (browsing context) | ❌ ไม่มี (ใช้ src) |
<video>/<audio> |
สื่อสมัยใหม่ | ใช้ <source type> แทน |
แอตทริบิวต์สำคัญของ <object>
data- URL ของไฟล์ข้อมูลtype- MIME type (ช่วยเบราว์เซอร์ตัดสินใจวิธีเล่น)
้width,height- ขนาดname- ชื่อสำหรับ form submission/targetusemap- client-side image mapform- ผูกกับ form (HTML5)
Fallback Content
เนื้อหาภายใน <object> จะแสดงเมื่อเบราว์เซอร์ไม่รองรับ type หรือโหลดไม่สำเร็จ:
<object data="chart.svg" type="image/svg+xml">
<!-- Fallback: รูปภาพ PNG แทน -->
<img src="chart.png" alt="Chart data">
<p>ดาวน์โหลด: <a href="chart.svg">SVG</a> | <a href="chart.pdf">PDF</a></p>
</object>
ข้อควรระวัง
<object>ใช้สำหรับ plugins/legacy content สำหรับสื่อสมัยใหม่ ใช้<video>,<audio>,<img>,<iframe>แทน- Flash, Java Applets, Silverlight ล้าสมัยแล้วและไม่รองรับในเบราว์เซอร์สมัยใหม่
- PDF embedding ขึ้นอยู่กับเบราว์เซอร์/OS - บางตัวต้องดาวน์โหลด