Come aprire i link esterni in una nuova finestra

Aggiungere il target=_blank ai link esterni in WordPress

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.

9 pensieri su “Come aprire i link esterni in una nuova finestra”

  1. 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.

      1. Ciao Nicola,
        prima di tutto segui l’istruzione alla riga 28 che dice “cambia questo valore a true se vuoi far aprire il link esterno in una nuova finestra“.
        Se questo non funziona, allora ripristinalo com’era prima e vai alla riga 41, scrivendo…
        class="extlink" target="_blank"
        …al posto di…
        class="extlink"
        C’è da dire che il plugin non funziona con i link inseriti dagli utenti nel campo “sito web” del modulo per i commenti, ma funziona però benissimo coi link inseriti nel commento vero e proprio.
        Se vuoi fare proprio una figata, scrivi…
        class="extlink" target="_blank" title="Collegamento a un sito esterno"
        …così avrai anche il tooltip che avvisa l’utente che aprirà una nuova finestra! 🙂

        1. Ti ringrazio per la celerità ma…
          Questo e’ il file del PlugIn
          e non c’è “ombra” di quello che mi chiedi di cercare e sostituire….
          dove sbaglio ?
          [ho tolto il codice del plugin – DoZ]

          1. Sbagli perché non hai guardato attentamente; vai alla riga 28 e troverai in inglese l’istruzione che io ho scritto in italiano:
            // change this to true if you want external links to open in a new window (target="_blank")

      2. Per quanto riguarda l’url al sito dell’autore del commento (parlando di WordPress), stando a quanto scritto in questo topic nel forum, WordPress ha la propria funzione comment_author_link per scrivere nome dell’autore del commento assieme al link verso il sito, che però si può modificare solamente andando a modificare il file comment-functions.php all’interno della cartella wp-includes; purtroppo non comprende nessun parametro per impostare l’apertura del link in una nuova finestra.

        D’altra parte si può scegliere di usare al suo posto la funzione comment_author_url in questa maniera, nel tag A:
        <a target="_new" href="<?php comment_author_url(); ?>">visita il sito di <?php comment_author(); ?></a>
        Suggerisco comunque a questa pagina del codex, e a tutti i relativi collegamenti riportati in fondo alla pagina.

Rispondi a DoZ Annulla risposta

Il tuo indirizzo email non sarà pubblicato.

You can add images to your comment by clicking here.