Ventanas externas

El uso más común de un vínculo es cargar un documento (una página web, una imagen), sin embargo, no es el único uso, también pueden servir como relación para "activar" otros recursos.

Este tipo de enlace utiliza los atributos rel y rev.

El atributo rel indica una relación entre el documento donde está el enlace y el documento enlazado. El atributo rev describe la relación inversa, entre el documento actual y documento que lo enlaza.

Existen algunos valores de uso común que se utilizan habitualmente con la etiqueta LINK:
<link href="index.html" rel="home">
<link href="chapter4.html" rel="prev">
<link href="chapter6.html" rel="next">
Sin embargo, estos atributos, no tienen un valor predeterminado por lo que pude utilizarse cualquiera, incluso uno definido por nosotros.

En SitePoint, han creado un valor especial de tal manera de poder poder abrir un documento en una nueva ventana. Esto, es algo que normalmente se hace mediante:
<a href="direccion_URL" target="_blank">vínculo externo</a>
Mediante un simple script, se reemplaza el atributo target:
<a href="direccion_URL" rel="external">vínculo externo</a>
El script es el siguiente:
<script type="text/javascript">
function externalLinks() {
if (!document.getElementsByTagName) return;
var anchors = document.getElementsByTagName("a");
for (var i=0; i&lt;anchors.length; i++) {
var anchor = anchors[i];
if (anchor.getAttribute("href") &amp;&amp; anchor.getAttribute("rel") == "external")
anchor.target = "_blank";
}
}
window.onload = externalLinks;
</script>
Y para utilizarlo, debemos insertarlo en el head de la página.

13 comentarios:

Gem@

Mira por dondeeeee este script lo vi hace mucho tiempo y ya lo había olvidado.
En las nuevas plantillas también funciona si lo añadimos a : añadir un elemento de página/HTML Javascript.

¿Me lo regalas? ¿si? !GRACIAS¡ ;)

Roberto

¿Pero tiene alguna ventaja sobre el target="_blank"?

JMiur

Sí, el script es "viejísimo". Todo tuyo, Gem@ :D

Roberto:
No tiene ninguna ventaja o desventaja, tal cual está escrito, es lo mismo.

Lo interesante es el uso del atributo REL para ejecutar un script de manera sencilla.

En este caso, podría hacerse más "sofisticado", por ejemplo, podría lograrse que las ventanas se abran con ciertas características especiales (tamaño, posición, etc) como si fueran popups.

Como todas estas cosas, sólo son herramientas.

Gem@

Pero la ventaja es que no necesita añadir a cada enlace target="_blank" añadiendo el script automáticamente todos los enlaces abren en ventana nueva ¿no es asi?

JMiur

Si y no.

Con este script, deberás agregar al vínculo rel="external"

Lo que dices, es posible hacerlo pero no estoy muy seguro que sea razonable y es probable que si utilizamos vínculos para ejecutar scripts (un slideshow, por ejemplo) funcionaría mal o no funcionaría.

De alguna manera, debemos decirle al navegador cuales vínculos abrir en una ventana/pestaña nueva y cuales no.

Gem@

Pues algo no funciona que ni con rel="external" abre en ventana nueva :(

JMiur

Tienes razón Gem@, otra vez Blogger y su manía de reinterpretar lo que que escribo.

Ya he corregido el post , el problema es que no se mostraban algunas instrucciones y no me di cuenta de ello:

for (var i=0; i<anchors.length; i++) {

Ahora puedes copiar y pegar directamente el script. Lo acabo de poner en mi blog de pruebas porque ya no confiaba. Disculpa las molestias :$

Gem@

Blogger se lleva siempre la peor parte ;)
Gracias de nuevo genio ahora funciona a la perfección.

JMiur

Culpa de Blogger y culpa mia por no revisar :D

Patán

JMiur, a mi no me resulta y lo he colocado en todas partes, que podrá ser

JMiur

Patán:
En este momento, veo que lo tienes en la sidebar. Colócalo antes de </head>

Patán

Lo coloque donde me indicastes, pero no resulta

JMiur

En este momento, el script funciona pero, recuerda que debes colocar el atributo rel="external" en los enlaces que quieres que se abran de esa manera.

Por ejemplo, en tu blog sólo veo uno:
<a title="Inicio" rel="external" href="http://patopatan.blogspot.com/"
style="border: 0pt none ;">
y allí funciona y se ha agregado el atributo pero, no veo ninguno más.

¿Quiere dejar un comentario?

Hay varios métodos posibles.

Uno de ellos es el formulario de comentarios que tan generosamente nos ha regalado Blogger y que funciona sólo de tanto en tanto. Su uso es aconsejable sólo en caso de ser una de esas personas a las que les gustan los retos y los desafíos.
¿No quiere arriesgarse? Haga click para ocultarlo y utilice las otras opciones.

Si le gusta ir a lo seguro utilice este botón para abrir los comentarios en una ventana modal en esta misma pagina.

Si añora tiempos idos, use este enlace para agregar un comentario al viejo estilo ...

Los comentarios están siendo moderados y serán publicados a la brevedad.