Membuka Halaman di Jendela Baru dengan Javascript
Sebuah tautan atau link adalah elemen penting dalam navigasi sebuah halaman web. Alangkah baiknya jika sebuah tautan yang menuju ke halaman selain halaman web yang bersangkutan (tautan eksternal), dibuka pada jendela browser baru -- jadi pengunjung tidak meninggalkan halaman yang sedang dia buka.
Dalam HTML, sebuah tautan yang dibuka pada jendela baru dapat diidentifikasi browser bila tautan tersebut mempunyai atribut 'target' yang bernilai '_blank'. Sebagai contoh:
Namun -- yang menjadi persoalan adalah -- atribut target ini tidak valid sebagai HTML Strict maupun XHTML Strict. Solusinya adalah dengan menggunakan JavaScript untuk mendeteksi semua tautan yang menuju ke halaman di luar web yang bersangkutan, kemudian menambahkan atribut 'target=_blank' pada tautan tersebut. Dengan demikian, tautan tersebut akan dibuka pada jendela browser baru dan juga valid sebagai HTML/XHTML Strict.
Berikut script untuk membuka tautan eksternal di jendela baru:
function oinw(event) {
try {
var b=document.getElementsByTagName("a");
for (var i = 0; i < b.length; i++) {
if (!(b[i].title)) {
b[i].title=removeHTMLTags(b[i].innerHTML);
}
if (b[i] && b[i].href && b[i].href.toLowerCase().indexOf('http://')!=-1 && (b[i].target==null || b[i].target=='')) {
if (b[i].hostname && location.hostname) {
if ((b[i].hostname != location.hostname)) {
b[i].target="_blank";
}
} else {
if (b[i].href && (b[i].href.indexOf('elabee.co.tv') < 0)) { // ganti elabee.co.tv dengan domain kamu
b[i].target="_blank";
}
}
}
}
} catch (ee) {}
}
if (document.addEventListener) {
document.addEventListener("DOMContentLoaded", function(event) { oinw(event); }, false);
} else if (window.attachEvent) {
window.attachEvent("onload", function(event) { oinw(event); });
} else {
var oldFunc = window.onload;
window.onload = function() {
if (oldFunc) {
oldFunc();
}
oinw('load');
};
}
function removeHTMLTags(ihtml){
try {
ihtml = ihtml.replace(/&(lt|gt);/g, function (strMatch, p1){
return (p1 == "lt")? "<" : ">";
});
return ihtml.replace(/<\/?[^>]+(>|$)/g, "");
} catch (eee) {
return '';
}
}
Taruh script tersebut di akhir web kamu sebelum tag
