El problema de tener una página compleja con varios enlaces es el que, al ingresar a uno y volver, uno tiene que esperar a que la pagina se redibuje de nuevo, lo cual puede ser molesto. Una solución es abrir una ventanita en el enlace. Muchos la implementan usando un evento onclick que llama a window.open(), de la siguiente forma:
<a href=”#” onclick=”window.open(’pagina.html’,'window’,'params’)”>Bla</a>
El problema con eso es que sólo funciona con Javascript. Uno podría cambiar el gato por pagina.html para que funcionara sin Javascript, pero en el navegador con Javascript hace lo mismo en la ventana original, ADEMÁS de abrir la ventana. Y sólo queremos abrir la ventana.
Solución: Agreguemos un return false para evitar tal efecto indeseado.
<a href=”pagina.html” onclick=”window.open(this.href,’window’,'params’);return false”>Bla</a>
(this.href en Javascript apunta al valor del atributo href de este tag (el <a>), que en este caso es ‘pagina.html’)
Otra: siempre es útil encapsular las cosas que ocupamos mucho. Por ejemplo, suponiendo que tengamos muchos enlaces de la forma anterior, en los cuales sólo varía la dirección de la página, podemos crear la siguiente función:
function abrir(pagina) {
window.open(pagina,’window’,'params’);
}
</script>
Y luego, aplicarla de la siguiente forma:
lt;a href=”pagina.html” onclick=”abrir(this.href);return false”>