Me ha sucedido en un sitio con bastante contenido que se han incluido muchísmos enlaces externos en los contenidos sin ningún target definido. Ahora estoy buscando una alternativa para que se detecten los enlaces que no pertenecen al sitio y se les asigne este atributo.
Encontré este código por allí:
Código:
function externalLinks() {
if (!document.getElementsByTagName) return;
var anchors = document.getElementsByTagName("a");
for (var i=0; i<anchors.length; i++) {
var anchor = anchors[i];
if (anchor.getAttribute("href") &&
anchor.getAttribute("href") == "http://www.algundominio.*")
anchor.target = "_blank";
}
}
window.onload = externalLinks;
Y donde necesito ayuda es en la modificación del mismo para que detecte todos los enlaces que sean parte de x dominio o que tengan el path interno (href = "/algundirectorio/").
Alguna forma de asignarle esa condición? Desconozco de expresiones regulares o algo similar en javascript, así que cualquier guía será agradecida.
Por cierto que este código lo descubrí leyendo el
blog de kadazuro donde destaca la curiosidad que el atributo target="_blank" ya no es válido en XHTML estricto (únicamente permanece en el transicional) y como
explican en Sitepoint (y de donde tomé el código) hará falta algo de javascript para implementarlo si queremos estar en regla.