HTML - เหตุผลทางประวัติศาสตร์หรือทางเทคนิคสำหรับ target =“ _ blank” ที่มีขีดล่าง?


14

จนถึงวันนี้ผมสงสัยว่าทำไมไม่ได้กลายเป็นtarget="_blank" target="blank"ฉันแน่ใจว่าเบราว์เซอร์สามารถเข้าใจสิ่งนี้ได้เช่นกัน

มีเหตุผลทางประวัติศาสตร์หรือทางเทคนิคสำหรับการตัดสินใจ / ข้อกำหนดนี้หรือไม่?


targetแนวคิดทั้งหมดในขณะที่ยังคงได้รับอนุญาตใน HTML 5 ถือว่าโดยทั่วไปจะล้าสมัย w3.org/community/webed/wiki/HTML_links_-_lets_build_a_web (ใน7 Frames and popups — just say noส่วน)
Jens Mühlenhoff

1
ใครสามารถอธิบายได้ว่าทำไมคำถามนี้ไม่ได้ถูกโยกย้ายไปยัง StackOverflow ไปยังเว็บไซต์นี้ มันเป็นตัวเลือกที่สมบูรณ์แบบสำหรับ SO และอ่อนแอมากสำหรับ SU - ตามความคิดเห็นของฉัน
trejder

คำตอบ:


21

หากคุณใช้target="blank"ลิงค์ของคุณจะเปิดในแท็บ / หน้าต่างใหม่ อย่างไรก็ตามมีความแตกต่างเล็กน้อย การคลิกที่ลิงก์อีกครั้งจะเป็นการใช้หน้าต่างที่เปิดขึ้นใหม่ในครั้งแรกแทนที่จะเปิดขึ้นมาใหม่

นี่เป็นเพราะtargetแอ็ตทริบิวต์สามารถใช้งานได้มากกว่าเปิดหน้าต่างใหม่ มีค่าในตัวสี่ค่า แต่ยังอนุญาตให้คุณระบุเป้าหมายของคุณเอง หากคุณดูที่หน้าโรงเรียน W3 ที่เกี่ยวข้องจะแสดงตัวเลือกต่อไปนี้:

  • _blank เปิดเอกสารที่เชื่อมโยงในหน้าต่างหรือแท็บใหม่
  • _self เปิดเอกสารที่เชื่อมโยงในเฟรมเดียวกับที่คลิก (นี่คือค่าเริ่มต้น)
  • _parent เปิดเอกสารที่เชื่อมโยงในเฟรมพาเรนต์
  • _top เปิดเอกสารที่เชื่อมโยงในเนื้อหาแบบเต็มของหน้าต่าง
  • <framename> เปิดเอกสารที่เชื่อมโยงในกรอบชื่อ

สิ่งเหล่านี้ไม่สมเหตุสมผลหากคุณไม่เข้าใจเฟรม HTML เล็กน้อย การใช้<frameset>แท็กHTML ช่วยให้คุณสามารถแยกหน้าต่างเบราว์เซอร์ออกเป็นส่วน ๆ (เฟรม) แต่ละส่วนด้วยหน้าของตนเอง โดยให้ชื่อเฟรมและใช้targetคุณลักษณะในลิงค์ของคุณเป็นไปได้ที่จะควบคุมเฟรมที่ควรแสดงเนื้อหาที่เกี่ยวข้อง

แต่มีกฎเพิ่มเติมสำหรับแอตทริบิวต์เป้าหมายที่เบราว์เซอร์ต้องใช้:

  • หากเป้าหมายเป็นชื่อที่ผู้ใช้ระบุต้องเริ่มต้นด้วยตัวอักษร (ไม่มีขีดล่าง, ตัวเลข ฯลฯ )
  • หากเป้าหมายคือชื่อที่ผู้ใช้ระบุ แต่ไม่มีเฟรม / หน้าต่างตรงกับชื่อนั้นให้สร้างแท็บ / หน้าต่างใหม่โดยใช้ชื่อนั้น นี่คือเหตุผลที่target="blank"ทำงานในแบบที่มันเป็น

โดยทั่วไปไม่มีเหตุผลที่จะเปลี่ยนการประชุมปัจจุบันเนื่องจาก_blankเป็นกรณีพิเศษ เฟรมชนิดดั้งเดิมอาจไม่ได้ใช้อีกมาก แต่มีกรณีอื่น ๆ ที่คุณสามารถกำหนดชื่อวัตถุที่แอตทริบิวต์เป้าหมายทำงานด้วยเช่น iframe ซึ่งเป็นเฟรมเดี่ยวที่ฝังลงในหน้าโดยตรง การเปลี่ยนมาตรฐานจะทำให้หน้าแตกต่าง ๆ ที่มีอยู่โดยไม่ให้ประโยชน์


7
คุณไม่ควรอ้างถึง W3Schools: w3fools.com
Jens Mühlenhoff

2
ฉันไม่เห็นด้วยว่า W3Schools ไม่ใช่วิธีที่ดีที่สุดสำหรับแนวทางการออกแบบเว็บหรือการใช้ลิงก์ที่มีแอตทริบิวต์เป้าหมายนั้นล้าสมัยแล้ว อย่างไรก็ตามฉันใช้ข้อมูลเพื่อตอบคำถามดั้งเดิมโดยเฉพาะ
James P

1
ฉันคิดว่าการเชื่อมโยงกับแหล่งข้อมูลที่ทราบว่าเป็นปัญหาไม่ใช่ความคิดที่ดี คุณตอบได้ดี
Jens Mühlenhoff

1
ฉันปรารถนาเพิ่มเติมtarget="_blank"แอตทริบิวต์จะไม่จำเป็น แต่เราก็สามารถเพิ่มสัญญาณไปยัง URL <a href="*https://www.stackoverflow.com">Stackoverflow</a>เช่นเครื่องหมายดอกจัน นั่นจะช่วยประหยัดการพิมพ์ได้มาก :)
Kai Noack
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.