En cualquier documento HTML los enlaces a menudo deben abrirse en una nueva ventana del navegador. Para ello y desde hace tiempo usábamos el atributo target de HTML con el valor _blank. En XHTML este atributo fue excluído pero se siguió permitiendo en aquellos documentos cuyo DOCTYPE fuera transicional.
El propósito es cada vez mejorar la accesibilidad en XHTML, y generar documentos con presentación y código separados de la estructura.
Código :
<a href="documento.htm" onclick="window.open(this.href); return false;">Abrir en nueva ventana</a>Puede funcionar en varios dispositivos y no limitamos la accesibilidad (¿seguro?).
Código :
<a href="documento.htm" rel="nuevaVentana">Abrir en nueva ventana</a>Nota: originalmente el atributo 'rel' no admite 'nuevaVentana' porque no está dentro de las especificaciones, pero con DOCTYPE estricto pasa por el validador HTML. Si aun así eres reticente a esto puedes usar class="nuevaVentana", eso depende de tí.
Código :
function abrirEnNuevaVentana()Ahora hacemos la llamada al cargar el documento para que nuestro script se cargue.
{
// obtenemos todos los elementos <a> dentro del documento
var As = document.getElementsByTagName('a');
// generamos un bucle para asignar los eventos
for (var i = 0; i < As.length; i++)
{
var el = As[i];
// comprobamos que posee el atributo rel y es igual a nuevaVentana
if (el.getAttribute('rel') == 'nuevaVentana')
{
el.onclick = function()
{
// vamos a abrir una nueva ventana con la dirección del enlace (href)
// y a cancelar la llamada habitual con return false
window.open(this.href);
return false;
};
}
}
}
Código :
window.onload = abrirNuevaVentana;Conclusión: cuando carguemos nuestro nuevo documento podremos comprobar cómo aquellos enlaces con rel="nuevaVentana" generan una nueva ventana.
Usuarios que han visto este tema también han visto...
- Validar que el texto introducido es un numero con Javascript
- Interfaz de navegación por pestañas con Ajax y PHP
- Abrir ventana sin bordes
- Mensaje en la barra de estado
- Como hacer un Ticker
Información legal | Política de Privacidad | Contacte con nosotros
Otro proyecto de Factoría de Internet. Copyright© 2003-2008 Factoría de Internet S.L.. Todos los derechos reservados.