การเปิดลิงก์ในแท็บใหม่และแอตทริบิวต์ download
ใช้แอตทริบิวต์ target และ download เพื่อควบคุมพฤติกรรมของลิงก์
การเปิดลิงก์ในแท็บใหม่และแอตทริบิวต์ download เป็นบทเรียน HTML Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน HTML Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส HTML Academy มีบทเรียนทั้งหมด 4 บทเรียน
การเปิดในแท็บใหม่
แอตทริบิวต์ target ควบคุมตำแหน่งที่เอกสารที่ลิงก์ไว้จะเปิด:
<a href="https://example.com" target="_blank">Open in new tab</a>
<!-- target values:
_blank → new tab (or window)
_self → same tab (default)
_parent → parent frame
_top → full window (exits frames)
-->ความเสี่ยงด้านความปลอดภัยของแท็บใหม่
การใช้ target="_blank" โดยไม่มีมาตรการป้องกันจะสร้างช่องโหว่ด้านความปลอดภัย:
- หน้าใหม่สามารถเข้าถึงหน้าต่างต้นทางผ่าน
window.openerได้ - หน้าอันตรายอาจเปลี่ยนเส้นทางแท็บเดิมได้
- การโจมตีนี้เรียกว่าการโจมตีแบบเปลี่ยนเส้นทางแท็บย้อนกลับ
ค่าความสัมพันธ์เพื่อป้องกันแท็บใหม่
เพิ่ม rel="noopener noreferrer" เสมอเมื่อใช้ target="_blank":
<a href="https://example.com"
target="_blank"
rel="noopener noreferrer">
Open Safely
</a>
<!-- noopener: prevents access to window.opener -->
<!-- noreferrer: also hides referrer header + implies noopener -->
<!-- Modern browsers add noopener by default, but always include it -->ควรเปิดแท็บใหม่เมื่อใด
แนวทางด้านประสบการณ์ผู้ใช้สำหรับ target="_blank":
- ใช้กับเว็บไซต์ภายนอกที่ผู้ใช้ไม่คาดว่าจะออกจากแอปพลิเคชันของคุณ
- ใช้กับเอกสารอ้างอิง (ไฟล์พีดีเอฟ คู่มือ)
- อย่าใช้สำหรับการนำทางไปยังหน้าภายใน
- เตือนผู้ใช้เสมอ — เพิ่มไอคอนหรือชื่อที่ระบุว่า "เปิดในแท็บใหม่"
การแจ้งผู้ใช้ว่าเปิดในแท็บใหม่
แจ้งให้ผู้ใช้ทราบว่าลิงก์จะเปิดในแท็บใหม่:
<a href="https://example.com"
target="_blank"
rel="noopener noreferrer"
aria-label="Visit Example (opens in new tab)">
Visit Example
<span aria-hidden="true">↗</span>
</a>
<!-- aria-label covers screen reader announcement
The arrow icon gives visual users a hint -->แอตทริบิวต์สำหรับดาวน์โหลด
แอตทริบิวต์ download บอกให้เบราว์เซอร์ดาวน์โหลดไฟล์ที่ลิงก์ไว้แทนการนำทางไปยังไฟล์นั้น:
<a href="/reports/q4-report.pdf" download>
Download Q4 Report
</a>
<!-- Optionally specify the filename: -->
<a href="/api/export" download="my-data-2025.csv">
Export CSV
</a>ข้อจำกัดของแอตทริบิวต์สำหรับดาวน์โหลด
แอตทริบิวต์ download มีข้อจำกัดดังนี้:
- ใช้ได้เฉพาะกับที่อยู่เว็บจากต้นทางเดียวกัน
- การดาวน์โหลดจากต่างต้นทางต้องให้เซิร์ฟเวอร์ส่ง
Content-Disposition: attachment - ชื่อไฟล์ใน
downloadเป็นเพียงคำแนะนำ — ส่วนหัวจากเซิร์ฟเวอร์สามารถเปลี่ยนชื่อได้
การดาวน์โหลดตัวระบุทรัพยากรข้อมูล
คุณสามารถดาวน์โหลดเนื้อหาที่สร้างขึ้นโดยใช้ตัวระบุทรัพยากรข้อมูลได้:
<a href="data:text/plain;charset=utf-8,Hello%20World!"
download="hello.txt">
Download Text File
</a>
<!-- Generates a .txt file from inline data -->
<!-- Useful for generating small files client-side without a server -->JavaScript และเป้าหมายของลิงก์
เมื่อ JavaScript จัดการการนำทาง ให้หลีกเลี่ยงการใช้ target="_blank" ในทางที่ผิด:
// If you must open a new window programmatically:
const win = window.open('https://example.com', '_blank', 'noopener,noreferrer');
// noopener via window.open requires the features string
// Not via rel on window.openแอตทริบิวต์สำหรับติดตามการคลิก
แอตทริบิวต์ ping จะส่งคำขอแบบ POST เมื่อคลิกลิงก์ (สำหรับการวิเคราะห์ข้อมูล):
<a href="/destination" ping="/analytics/track">
Track this click
</a>
<!-- Browser sends POST to /analytics/track when link is clicked -->
<!-- Rarely used — blocked by many browsers -->
<!-- Most analytics use JavaScript instead -->แอตทริบิวต์ประเภทของลิงก์
แอตทริบิวต์ type ใช้บอกใบ้ชนิด MIME ของทรัพยากรที่ลิงก์ไว้:
<a href="/report.pdf" type="application/pdf">
Download PDF Report
</a>
<a href="/data.json" type="application/json">
JSON Data
</a>
<!-- Informational hint only — browser does not enforce it -->ตรวจสอบอย่างรวดเร็ว
ควรใช้แอตทริบิวต์ด้านความปลอดภัยใดคู่กับการเปิดลิงก์ในแท็บใหม่เสมอ
สรุป: เป้าหมายและการดาวน์โหลด
แอตทริบิวต์ที่ควบคุมพฤติกรรมของลิงก์:
target="_blank"— เปิดในแท็บใหม่- เพิ่ม
rel="noopener noreferrer"คู่กับ_blankเสมอ - เตือนผู้ใช้ด้วยภาพเมื่อลิงก์เปิดในแท็บใหม่
download— เริ่มการดาวน์โหลดไฟล์แทนการนำทางdownload="filename"— แนะนำชื่อไฟล์สำหรับการดาวน์โหลด
เรียนรู้ HTML ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 40
- บทเรียน
- 159
คำถามที่พบบ่อย
บทเรียน “การเปิดลิงก์ในแท็บใหม่และแอตทริบิวต์ download” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การเปิดลิงก์ในแท็บใหม่และแอตทริบิวต์ download” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส HTML Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส HTML Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การเปิดลิงก์ในแท็บใหม่และแอตทริบิวต์ download”
ใช้แอตทริบิวต์ target และ download เพื่อควบคุมพฤติกรรมของลิงก์ คุณปฏิบัติ HTML Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน HTML Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน HTML Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “การเปิดลิงก์ในแท็บใหม่และแอตทริบิวต์ download” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน HTML Academy นี้ได้ไหม
ได้ บทเรียน HTML Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- องค์ประกอบ anchor และแอตทริบิวต์ href
- URL แบบสัมบูรณ์เทียบกับแบบสัมพัทธ์
- การเปิดลิงก์ในแท็บใหม่และแอตทริบิวต์ download
- การเชื่อมโยงไปยังส่วนต่าง ๆ ด้วยตัวระบุแฟรกเมนต์