Come aprire i link esterni in una nuova finestra

photo credit: klvinci
C’è chi pensa che sia più corretto che i link presenti in un sito non aprano mai nuove finestre, chi invece la pensa diversamente, come me.
Io credo che i link che puntano a risorse e pagine esterne al sito di origine dovrebbero aprirsi in nuove pagine, dando la possibilità al navigatore di continuare ad esplorare il nuovo sito mantenendo vivo il collegamento con il sito di origine; una specie di target=_blank automatico, per capirci.
Avendo già visto una maniera per fare questo in modo coercitivo, vediamo ora come dare la possibilità all’utente di scegliere se aprire o meno i link esterni in nuove finestre.
La cosa è facilmente fattibile tramite javascript.
<script language="javascript">
function linkopener(a) {
var b = a ? "_blank" : "_self";
var c = document.links;
for (var i=0; i < c.length; i++) {
if (c[i].href.search("dominio-esterno.com") == -1) c[i].target = b;
}
}
</script>
<form>
<input type="checkbox" onclick="linkopener(this.checked)" id="linksnewwin">
Apri i link in nuove finestre
</form>
Con il codice precedente si crea un checkbox che, se selezionato dall’utente, aprirà i link in nuove fineste.
Ovviamente dovremo sostituire dominio-esterno.com con il dominio del nostro sito.
Articoli simili
- Come personalizzare check box e radio button nei form html
- Come aggiungere nuovi funzionalità al CSS
- Come creare una gallery multimediale
- Come ordinare le righe di una tabella HTML
- Come integrare Analytics in Wordpress
Collegamenti sponsorizzati:
| Se l'articolo ti è piaciuto è sempre graditissimo un commento! Se vuoi ricevere le ultime novità dal mio blog puoi anche iscriverti ai Feed RSS (non si paga!). Anche via email. CIAO!! |








































Giovanni scrive:
30 Agosto 2008 alle 13:16
La penso anche io come te! Quanto è scomodo quando si aprono link nella stessa pagina..
Giovanni.
[ML] scrive:
3 Settembre 2008 alle 21:04
Ciao Doz,
conosci anche il metodo per far puntare i link a nuovi tab ?
DoZ scrive:
3 Settembre 2008 alle 21:51
Guardando il codice suggerito, presumo che nella riga
var b = a ? "_blank" : "_self";basti sostituire _blank e/o _self con il nome del frame/finestra.