Dalam HTML 4.0 Strict dan XHTML 1.0 STRICT, atribut target tidak diperbolehkan dalam tag <a>, yang merupakan hal yang membuat frustrasi bagi desainer web. Masih diperbolehkan untuk digunakan dalam spesifikasi transisi. Namun melalui metode tertentu, kita bisa mengatasi masalah ini.
Atribut target telah dihapus dari spesifikasi HTML4.0: tetapi atribut lain ditambahkan: rel. Atribut ini digunakan untuk menentukan hubungan antara dokumen yang berisi link dan dokumen tertaut. Nilai atributnya (seperti: berikutnya, sebelumnya, bab, bagian) ditentukan dalam spesifikasi. Sebagian besar atribut ini digunakan untuk mendefinisikan hubungan antara bagian-bagian kecil dari dokumen besar. Faktanya, spesifikasi tersebut memungkinkan pengembang untuk secara bebas menggunakan nilai properti non-standar untuk aplikasi tertentu.
Di sini, kami menggunakan nilai khusus eksternal untuk atribut rel guna menandai tautan untuk membuka jendela baru.
Kode tautan yang tidak sesuai dengan standar web terbaru:
<a href="document.html" target="_blank">tautan eksternal</a>
Gunakan atribut rel:
<a href="document.html" rel="external">tautan eksternal</a>
Sekarang kita telah membuat link ke jendela baru yang sesuai dengan standar Web, kita juga perlu menggunakan JavaScript untuk mengimplementasikan jendela baru. Apa yang skrip ingin lakukan adalah menemukan semua hyperlink dalam dokumen yang kita definisikan sebagai rel="external" saat halaman web dimuat.
Pertama kita perlu menentukan browser
if (!document.getElementsByTagName) kembali;
getElementsByTagName adalah metode yang mudah digunakan dalam standar DOM1, dan saat ini didukung oleh sebagian besar browser. Karena beberapa browser lama seperti Netscape 4 dan IE4 tidak mendukung DOM1, kita harus mengesampingkannya dengan menentukan apakah metode ini ada. browser versi lama ini.
Selanjutnya, kita memperoleh semua tag <a> dalam dokumen melalui metode getElementsByTagName:
var jangkar = dokumen.getElementsByTagName("a");
Jangkar ditetapkan sebagai array yang berisi setiap tag <a>. Sekarang kita harus mengulang setiap tag <a> dan memodifikasinya:
for (var i=0; i < jangkar.panjang; i++) {
var jangkar = jangkar;
Temukan tag <a> di mana Anda ingin membuka jendela baru
jika (anchor.getAttribute("href") &&
jangkar.getAttribute("rel") == "eksternal")
Selanjutnya, buat nilai atribut target dan berikan nilai "_target"
jangkar.target = "_blank",
Kode lengkap:
fungsi tautan eksternal() {
if (!document.getElementsByTagName) kembali;
var jangkar = dokumen.getElementsByTagName("a");
for (var i=0; i<anchors.length; i++) {
var jangkar = jangkar;
jika (anchor.getAttribute("href") &&
jangkar.getAttribute("rel") == "eksternal")
jangkar.target = "_blank";
}
}
window.onload = tautan eksternal;