แท็ก <frameset> ใช้แบ่งหน้าต่างเบราว์เซอร์เป็นหลายเฟรม (frames) อยู่ในสถานะ Deprecated และ ไม่รองรับใน HTML5 ห้ามใช้ ในเว็บสมัยใหม่ ควรใช้ <iframe>, CSS Grid/Flexbox, หรือ AJAX แทน
แอตทริบิวต์ (สำหรับอ้างอิงทางประวัติศาสตร์)
| แอตทริบิวต์ | ค่า | คำอธิบาย |
|---|---|---|
| cols | ขนาดคอลัมน์ (px, %, *) | ระบุจำนวนและความกว้างคอลัมน์ ค่าเริ่มต้น 100% |
| rows | ขนาดแถว (px, %, *) | ระบุจำนวนและความสูงแถว ค่าเริ่มต้น 100% |
ตัวอย่างโค้ดเก่า (ไม่แนะนำ)
<!DOCTYPE html>
<html>
<head>
<title>ตัวอย่าง HTML frameset Tag</title>
</head>
<frameset cols="300, *">
<frame src="/html/menu.htm" name="menu_page" />
<frame src="/html/main.htm" name="main_page" />
<noframes>
<body>เบราว์เซอร์ของคุณไม่รองรับเฟรม</body>
</noframes>
</frameset>
</html>
วิธีแทนที่ในปัจจุบัน
| ความต้องการ | วิธีแทนที่สมัยใหม่ |
|---|---|
| เลย์เอาต์หลายคอลัมน์ | CSS Grid หรือ Flexbox |
| ฝังหน้าอื่น | <iframe> (มี sandbox attribute) |
| โหลดเนื้อหาแบบไดนามิก | Fetch API + DOM Manipulation |
| นำทางแบบ SPA | History API + Router |
ข้อเสียของ Frames: ปัญหา SEO, ไม่สามารถบุ๊กมาร์กหน้าย่อยได้, ปัญหา Accessibility, ไม่ตอบสนอง Responsive Design