Abrir los links externos en una nueva página con Javascript
Abril 24th, 2007 | Publicado por Francisco en 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.
- 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> - 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



