HTML - Alasan historis atau teknis untuk target = "_ blank" dengan garis bawah?

14

Sampai hari ini saya bertanya-tanya mengapa target="_blank"belum target="blank". Saya yakin browser bisa memahami ini juga.

Apakah ada alasan historis atau teknis untuk keputusan / spesifikasi ini?

Kai Noack
sumber
Seluruh targetkonsep, sementara masih diperbolehkan dalam HTML 5, umumnya dianggap sudah usang. w3.org/community/webed/wiki/HTML_links_-_lets_build_a_web (di 7 Frames and popups — just say nobagian ini)
Jens Mühlenhoff
1
Adakah yang bisa menjelaskan mengapa pertanyaan ini tidak dimigrasikan ke StackOverflow ke situs ini? Ini adalah pilihan yang sempurna untuk SO dan yang sangat lemah untuk SU - sesuai pendapat saya.
trejder

Jawaban:

21

Jika Anda menggunakan target="blank"tautan Anda akan terbuka di tab / jendela baru. Namun, ada perbedaan yang halus. Mengklik tautan itu lagi akan menggunakan kembali jendela yang dibuka pertama kali alih-alih membuka yang baru.

Ini karena targetatribut dapat digunakan untuk lebih dari sekadar membuka jendela baru. Ini memiliki empat nilai bawaan tetapi juga memungkinkan Anda menentukan target Anda sendiri. Jika Anda melihat halaman Sekolah W3 yang relevan itu menunjukkan opsi berikut:

  • _blank Buka dokumen yang ditautkan di jendela atau tab baru
  • _self Buka dokumen yang ditautkan dalam bingkai yang sama seperti yang diklik (ini adalah default)
  • _parent Buka dokumen yang ditautkan dalam bingkai induk
  • _top Buka dokumen yang ditautkan di seluruh jendela
  • <framename> Buka dokumen yang ditautkan dalam bingkai bernama

Banyak dari ini tidak masuk akal kecuali Anda mengerti sedikit tentang bingkai HTML. Menggunakan <frameset>tag HTML memungkinkan Anda untuk membagi jendela browser menjadi beberapa bagian (bingkai) masing-masing dengan halaman mereka sendiri. Dengan memberi bingkai nama dan menggunakan targetatribut di tautan Anda, Anda dapat mengontrol frame mana yang harus menampilkan konten yang relevan.

Tetapi ada beberapa aturan tambahan untuk atribut target yang harus diterapkan browser:

  • Jika target adalah nama yang ditentukan pengguna maka harus dimulai dengan huruf (tidak ada garis bawah, angka, dll.)
  • Jika targetnya adalah nama yang ditentukan pengguna tetapi tidak ada bingkai / jendela yang cocok dengan nama itu, maka buat tab / jendela baru menggunakan nama itu. Inilah sebabnya mengapa target="blank"bekerja seperti itu.

Pada dasarnya tidak ada alasan untuk mengubah konvensi saat ini karena _blankmerupakan kasus khusus. Jenis bingkai asli mungkin tidak banyak digunakan lagi tetapi ada kasus-kasus lain di mana Anda dapat memberi nama objek yang bekerja dengan atribut target, misalnya iframe yang merupakan bingkai tunggal yang disematkan langsung ke halaman. Mengubah standar akan merusak banyak halaman yang ada tanpa memberikan manfaat apa pun.

James P
sumber
7
Anda tidak boleh merujuk ke W3Schools: w3fools.com
Jens Mühlenhoff
2
Saya tidak setuju bahwa W3Schools bukan yang terbaik untuk pedoman desain web, atau bahwa menggunakan tautan dengan atribut target sudah usang. Namun, saya menggunakan informasi tersebut untuk secara spesifik menjawab pertanyaan awal.
James P
1
Saya pikir menghubungkan ke sumber daya yang diketahui bermasalah bukanlah ide yang baik. Jawaban Anda baik-baik saja.
Jens Mühlenhoff
1
Saya berharap target="_blank"atribut tambahan tidak diperlukan tetapi sebaliknya, kita bisa menambahkan tanda ke URL, misalnya tanda bintang <a href="*https://www.stackoverflow.com">Stackoverflow</a>. Itu akan menghemat banyak mengetik :)
Kai Noack