Saya ingat pernah membaca di suatu tempat bahwa dalam HTML5 tidak lagi boleh digunakan target="_blank"
dalam HTML5, tetapi saya tidak dapat menemukannya sekarang.
Apakah boleh untuk terus menggunakan target="_blank"
?
Saya tahu ini umumnya dianggap ide yang buruk, tetapi dengan cara termudah untuk membuka jendela baru untuk sesuatu seperti PDF, dan itu juga tidak mengharuskan Anda untuk mengandalkan JavaScript.
javascript
html
window
Darryl Hein
sumber
sumber
target
et al. ada. Terkadang mereka adalah keharusan. Halaman yang dibuat secara dinamis dengan JS stateful, misalnya, di mana iframe kurang diinginkan daripada tab baru (misalnya melihat PDF, seperti yang dinyatakan OP). Atau ketika situs aman (seperti bank) mengirim Anda ke tautan eksternal tetapi tidak mengizinkan penggunaan tombol kembali karena kedaluwarsa konten. Seperti semua hal, atribut HTML ini bukan "ide buruk" untuk digunakan, tetapi harus digunakan dengan pemikiran dan kehati-hatian, seperti pada setiap perpustakaan, kelas, fungsi, dan properti di semua pemrograman.Jawaban:
Sepertinya
target="_blank"
masih baik-baik saja. Itu terdaftar sebagai kata kunci konteks penelusuran dalam konsep HTML5 terbaru .sumber
target="_blank"
akan menyebabkan jendela baru terbuka setiap kali pengguna mengklik tautan. Kecuali jika ini benar-benar yang Anda inginkan terjadi (dan jarang terjadi) pertimbangkan untuk menggunakantarget="somethingUnique"
sehingga pengguna hanya mendapatkan satu jendela yang terbuka, bahkan jika mereka mengklik tautan beberapa kali. Itu membuat UX jauh lebih bagus.target="_blank"
bagus adalah berbagi tombol.Tidak apa-apa untuk digunakan
target="_blank"
; Ini dilakukan dengan XHTML karena penargetan jendela baru akan selalu memunculkan peringatan pop-up di sebagian besar browser. XHTML akan selalu menampilkan kesalahan dengan atribut target di validasi.HTML 5 membawanya kembali karena kami masih menggunakannya. Ini teman kita dan kita tidak bisa melepaskannya.
Tidak pernah membiarkan pergi.
sumber
Meskipun
target="_blank"
ini dapat diterima dalam HTML5 , saya pribadi mencoba untuk tidak menggunakannya (bahkan untuk membuka PDF di jendela baru).HTML harus mendefinisikan makna dan konten . Tanyakan pada diri sendiri, “akan yang berarti dari
a
perubahan elemen jikatarget
atribut dihilangkan?” Jika tidak, kode tidak boleh masuk dalam HTML. (Sebenarnya saya terkejut W3C menyimpannya ... Saya kira mereka benar-benar tidak bisa melepaskannya.)Perilaku browser , khususnya, perilaku interaktif dengan pengguna , harus diimplementasikan dengan bahasa skrip sisi klien seperti JavaScript. Karena Anda ingin browser berperilaku dengan cara tertentu, yaitu, membuka jendela baru, Anda harus menggunakan JS. Tetapi seperti yang Anda sebutkan, perilaku ini mengharuskan browser untuk bergantung pada JS. (Meskipun jika situs Anda terdegradasi dengan anggun, atau meningkat secara progresif, atau apa pun , maka itu harus tetap baik-baik saja. Pengguna dengan JS yang dinonaktifkan tidak akan ketinggalan banyak.)
Yang sedang berkata, tidak satu pun dari ini adalah jawaban yang benar. Di luar sana ada pendapat bahwa cara membuka tautan pada akhirnya harus diputuskan oleh pengguna akhir . Ambil contoh ini.
BAHWA dikatakan, pengembang web harus memperjelas ke mana arah tautan mereka, jenis dan / atau format sumber apa yang mereka rujuk, dan apa yang mereka lakukan. Tooltips dapat menjadi teman Anda (kecuali jika Anda menggunakan tablet atau ponsel; dalam hal ini, tentukan ini di situs seluler). Kita semua tahu betapa menyebalkannya dibawa ke suatu tempat yang tidak kita harapkan atau mewujudkan sesuatu yang tidak kita inginkan.
sumber
Ini juga cara termudah untuk mengganggu pengguna non-Windows. PDF terbuka dengan baik di browser pada platform lain. Membuka jendela baru juga mengacaukan riwayat navigasi dan memperumit masalah pada platform yang lebih kecil seperti smartphone.
JANGAN membuka jendela baru untuk hal-hal seperti PDF hanya karena versi Windows yang lebih lama rusak.
sumber
Sebagian besar pengembang web
target="_blank"
hanya menggunakan untuk membuka tautan di tab baru. Jika Andatarget="_blank"
hanya menggunakan untuk membuka tautan di tab baru, maka itu rentan terhadap penyerang. Saat Anda membuka tautan di tab baru (target="_blank"
), halaman yang terbuka di tab baru dapat mengakses tab awal dan mengubah lokasinya menggunakanwindow.opener
properti.Kode Javascript:
Pencegahan:
sumber
Meskipun target masih dapat diterima dalam HTML5, itu tidak disukai. Untuk menautkan ke file PDF gunakan atribut unduhan alih-alih atribut target.
Berikut ini sebuah contoh:
Jika nama file asli dikodekan untuk penyimpanan file unik, Anda dapat menentukan nama unduhan yang ramah pengguna dengan memberikan nilai pada atribut unduhan:
Ingatlah bahwa sementara sebagian besar browser modern mendukung fitur ini, beberapa mungkin tidak. Lihat caniuse.com untuk info lebih lanjut.
sumber
Pastilah itu!
http://www.w3.org/TR/2010/WD-html5-20100624/text-level-semantics.html#the-a-element
sumber
Anda dapat melakukannya dengan cara berikut dengan jquery, ini akan membukanya di jendela baru:
sumber
Saya pikir atribut target sudah usang untuk
<link>
elemen, tidak<a>
, itu mungkin mengapa Anda mendengar itu tidak seharusnya digunakan lagi.sumber