jQuery: aprire automaticamente i link ad un altro sito in nuova pagina

Volevo proporre un piccolo script javascript/jQuery da utilizzare per aprire tutti i collegamenti ad un altro sito (ossia ad uno diverso da quello dove è la pagina contenete il link), un una nuova scheda (o finestra) del browser.

Queste poche righe di codice consentono anche una piccola configurazione, la scelta del “target”, ossia della finestra nella quale verranno aperti i link.
A tal proposito volevamo ricordare che impostando il target a _blank tutti i collegamenti esterni verranno aperti in una nuova finestra (ogni link una finsetra), se invece gli assegnamo un nome al primo click si aprirà una nuova finsetra e tutti i seguenti link a siti esterni saranno aperti nella stessa.

Dopo questa gioiosa introduzione passiamo al codice vero e proprio:

$(document).ready(function(){
	$myProt='http://'; //protocollo, generalmente http:// va bene
	$myHost=$myProt+window.location.host;
	$target="_balnk"; // _blank apre ogni link in una nuova finestra
	$('a').click(function(){
		$linkUrl = this.href;
		if ($linkUrl.indexOf($myHost) == 0) 
			return true;
		else{
			window.open(this.href, $target);
			return false;
		}
	})
})

Molto banalmente questo codice memorizza nella variabile $myHost l’host sul quale è ospitata la pagina, quando clicchiamo su un link controlla se l’url del link fa riferimento ad un dominio diverso, se è diverso lo apre in un’altra finsetra (o scheda) altrimenti lo apre nella pagina attuale.
Mediante $target possiamo definire la modalità di apertura dei link esterni (sempre in una nuova scheda oppure in una per tutti i collegamenti ad altri siti).