Automatizzare il “target=_blank”

Un bell’issimo uso di JS e CSS per automatizzare l’apertura in una nuova finestra del browser dei link che puntano a siti esterni.

La versione di seguito – quella che uso io – però elimina la parte css, in modo da non aggiungere nessuna immagine ai link che puntano fuori dal sito principale, ma semplicemente fa in modo che questi si aprano in una nuova finestra.

function enhanceLinks() {
var links = document.getElementsByTagName("a");
var thisDomain = document.domain.split('www.');
var thisDomain = (thisDomain[1]) ? thisDomain[1] : document.domain ;
for (var i = 0; i < links.length; i++) {
if(links[i].href.indexOf(thisDomain) == -1 && links[i].href != '') {
links[i].target = '_blank';
links[i].className = 'link_ext';
}
}
}
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
if (oldonload) {
oldonload();
}
func();
}
}
}
addLoadEvent(function() {
enhanceLinks();
});

Un altro sistema per automatizzare il target=’_blank’ ancora più semplice, se magari già stiamo usando jQuery nel nostro sito, è aggiungere prima della chiusura del BODY queste poche righe di codice:

$(window).load(function(){
$("a[@href^='http']").attr('target','_blank');
});

Il codice in questione ordina semplicemente di aggiungere il target=’_blank’ a tutti quei link che iniziano per HTTP, e sono quindi prsumibilmente esterni al sito originale.

link: fonte , demo

Un pensiero su “Automatizzare il “target=_blank””

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

You can add images to your comment by clicking here.