Blog and Web

Abrir los links externos en una nueva página con Javascript

Mediante un script podemos abrir todos los enlaces externos en una nueva página, ahorrandonos la inclusión en cada uno de ellos de “targen=_blank” y de paso validamos nuestra web con ello.

  1. Colocamos el script entre las etiquetas <head> y </head> o en nuestro archivo .js
    <script language="javascript">
    var dominio1 = "tupagina.com";
    var dominio2 = "www.tupagina.com";
    //var dominio3 = "www.otraweb.com";
    
    function LinksExternos() {
    var Externo;
    if (document.getElementsByTagName('a')) {
    for (var i = 0; (Externo = document.getElementsByTagName('a')[i]); i++) {
    if (
    Externo.href.indexOf(dominio1) == -1
    && Externo.href.indexOf(dominio2) == -1
    //&& Externo.href.indexOf(dominio3) == -1
    )
    {
    Externo.setAttribute('target', '_blank');
    //Externo.setAttribute('class', 'linkexterno');
    }
    }
    }
    }window.onload = function() {
    LinksExternos();
    }
    </script>
  2. Cambia “tupagina.com” y “www.tupagina.com” con la dirección de tu web (con y sin www) correspondientes a las variables dominio1 y dominio2 respectivamente.

Para evitar que otro dominio se abra en una nueva página se declara como una nueva variable, por ejemplo:

var dominio3 = "www.otraweb.com";

y se agrega en la condisión:

&& Externo.href.indexOf(dominio3) == -1

Otra utilidad para este script es la de poder aplicarle una clase a los link externos agregando en la función:

Externo.setAttribute('class', 'linkexterno');

Para los usuarios de Blogger pueden visitar el artículo: “Abrir los links externos en una nueva página en Blogger” con las adecuaciones necesarias para este sistema