Acerca de Scriptia
Scriptia forma parte del PDM de Choan C. Gálvez, desarrollador web residente en Barcelona. Scriptia pretende mejorar la calidad de la documentación acerca de javascript disponible en español.
Saltar a Anotaciones relacionadas
Abrir nuevas ventanas no es buena idea. Usar target="_blank" tampoco lo es. Pero usar scripts mal pensados y peor escritos para abrir enlaces en ventanas popup es lo peor de lo peor.
Así que, si a pesar de las advertencias de los libros sagrados vas a abrir un popup usando javascript, muestra un poco de respeto por tus usuarios y hazlo (algo) bien.
¿Y qué entiende Choan por hacerlo bien?
Pongámoslo en código (en la variante plugin para jQuery):
$.fn._blank = function() {
function clickHandler(e) {
// si el usuario ha utilizado una tecla de control
// no hacemos nada
if (e.ctrlKey || e.shiftKey || e.metaKey)
return;
// abrimos la ventana
var w = window.open(this.href, '_blank');
if (w && !w.closed) {
// si efectivamente hemos logrado abrirla
// la ponemos en foco
w.focus();
// y cancelamos el comportamiento por defecto
// del enlace
e.preventDefault();
}
}
this
.filter('a[@href]') // que no se nos cuele algo que no sea un enlace
.bind('click', clickHandler);
return this; // permitimos concatenabilidad
}
Hecho el plugin, usémoslo al gusto:
$('a.lo-abro-en-un-popup-porque-soy-un-cretino')
._blank();
O usémoslo con gusto:
$('a[@rel=help]')
.append(' <small>(se abre en nueva ventana)</small>')
._blank();
Hale, pues dicho queda. Que las generaciones futuras sepan que sus abuelos eran unos cabronazos obstinados en pensar que su opinión valía más que la de sus usuarios.
Scriptia forma parte del PDM de Choan C. Gálvez, desarrollador web residente en Barcelona. Scriptia pretende mejorar la calidad de la documentación acerca de javascript disponible en español.
5 comentarios RSS
1 el popupero loco (2007-08-04 @ 12:51 pm):
you are so great and i love youuuuuuuu
mais que nada, queria probar a comeentar desde el gadget este
2 Ale Muñoz (2007-08-04 @ 1:02 pm):
Choan for president!
3 david (2007-08-05 @ 7:29 pm):
buen post, aunque se nota un pelín de mala leche… AccesoWeb estuvo movidito estos días, eh?
4 Jose Gabriel (2007-10-03 @ 2:05 pm):
Muy bueno, aunq no me gusto tu ímpetu contra la necesidad de los popup. Tenes que tener en cuenta q muchas veces son requerimientos del cliente. Slds.-
5 guillermo (2008-04-02 @ 10:51 pm):
como se usa? no entendi