Weblog

¡Quiero mi ventana, joder! (o como destruir los target _blank)

Siempre he pensado que el usuario debe poder elegir dónde quiere cargar un nuevo documento desde un enlace. Yo defiendo que como desarrollador puedes usar una cookie y ofrecer esa posibilidad si el usuario quiere, pero solamente si quiere (podeis ver el formulario de preferencias al fondo de la página). Mucha otra gente opina que lo mejor es no dejarles pensar y abrirlo todo en una ventana nueva. Odio esos casos. ¿Qué pasa si a mi no me da la gana irme de mi ventana? Oye, que si me gusta tu web ya volveré, tranquilo... Pues no, se empeñan en usar el target _blank. Bueno, pues todo esto se ha terminado. Adiós a los malditos target _blank. Si quereis saber cómo, seguid leyendo...

Cómo destruir el target _blank

  1. Bájarse la última versión de Mozilla FireFox. Este método funciona a partir de la 1.0
  2. Instalarse la extensión greasemonkey, que permite ejecutar scripts propios sobre otras webs
  3. Reiniciais FireFox
  4. Luego visitais esta maravilla
  5. Desde ahi usais el menu Tools y podeis usar el Install User Script
  6. ¡A disfrutar! A partir de ahora si quereis enlaces en una ventana o tab nueva podeis usar el menu contextual o un atajo de teclado (a mi me encanta el CTRL+click)

Comentarios sobre esta entrada

  1. 2004-12-11 11:35:50

    Muchas gracias por el truco. Es muy útil. Yo también usaba el CTRL+click, pero luego descubrí que los enlaces se pueden abrir en pestañas nuevas pulsando el botón central del ratón (en mi caso la rueda) y me resulta aún más cómodo. Por cierto, creo que en la secuencia de instalación del script deberías haber puesto lo de reiniciar Firefox en el punto 3, después de instalar greasemonkey. Si no, alguien que sea nuevo en Firefox se puede volver loco buscando el Install User Script. Es sólo una sugerencia. Gracias de nuevo y un saludo.
  2. 2004-12-11 11:43:27

    Tienes razón, acabo de cambiar el orden, es más correcto, gracias por el feedback y a disfrutar la extensión :)

  3. 2005-01-08 09:01:54

    • Edgar Caravez
    • [e]
    haber... se me hace que hay algo que me estoy perdiendo... La extensión está instalada así como el script, y se "debe" de ejecutar en: http://* * *:* *.* */* Pero... mandando al target _blank Any help will be apreciated =)
  4. 2005-01-08 10:02:31

    Edgar enviame un email o pon la url donde no funciona este script, gracias. tambien puedes poner tu email tranquilamente, me ha devuelto un mensaje porque era una direccion falsa (añado un prefijo al dominio, asi que no recibirás spam). saludos.

  5. 2005-01-08 13:20:39

    • Edgar Caravez
    • [e]
    Como me habia quedado con la duda intenté e intenté incluso hice un .html con varias opciones de prueba (tanto para tu script como para los que vienen integrados) y nada resultó... Lo "raro" fué que tras reiniciar mi pc y llegar a los dominios de Debian todo funcionó... ya sabes hay que tener cuidado con M$ puede hacer que falle hasta lo impensable... Agradezco tu atención... Por cierto, he leido muchos artículos en la red que hablan sobre la "inteligencia" de los harvesters ya es un truco conocido el _NOSPAM_ y derivados como %20usuario@isp.tld y cosas por el estilo... Hace algún tiempo hice una pequeña función para evitar eso, me permito pegartela: function mail(usuario,isp,tld) { var protocolo = unescape('%6d%61%69%6c%74%6f'); var aRoba = unescape('%'+'40'); var correo = ''+usuario+aRoba+isp+'.'+tld+''; document.write(correo); } Obviamente ya sabes el output que tiene.
  6. 2005-02-22 18:02:37

    • Jeremy Dunck
    • [e]
    We've got a directory of user scripts started...
  7. 2005-04-29 08:36:40

    • sin acritud
    • [e]
    Bien, esa filosofía es muy personal y se puede defender..., pero entonces, porqué narices pones enlaces en ventana nueva dentro de tu página? Tienes miedo de que vaya a otra web y no vuelva a la tuya...? Que conste que tengo las preferencias establecidas como "no abrir los recursos en ventana nueva". Francamente te contradices mucho...
  8. 2005-04-29 08:37:53

    • sin acritud
    • [e]
    Bien, esa filosofía es muy personal y se puede defender..., pero entonces, porqué narices pones enlaces en ventana nueva dentro de tu página? Tienes miedo de que vaya a otra web y no vuelva a la tuya...? Que conste que tengo las preferencias establecidas como "no abrir los recursos en ventana nueva". Francamente te contradices mucho...
  9. 2005-05-10 00:03:56

    • Assaph Mehr
    • [e]
    I would also add "_new" targets to the if: if (external[k].href && (external[k].target=="_blank" || external[k].target=="_userwww" || external[k].target=="_new")) {
  10. 2005-05-25 18:01:00

    • Robert Millan
    • [e]
    Nice hack! It doesn't work with other combinations (e.g. "target=Top Frame"). This can be fixed by removing the external[k].target check completely. After all, we want anything other than _self ? Patch follows. --- killblank.user.js~ 2004-12-09 02:03:15.000000000 +0100 +++ killblank.user.js 2005-05-25 23:57:35.000000000 +0200 @@ -7,8 +7,8 @@ (function () { var external = document.links; for (var k=0; k
  11. 2005-05-25 18:21:01

    Robert, you're right. It'd be better to remove the target check. Javascript file already updated. Thanx.

  12. 2005-05-31 23:24:20

    • Assaph Mehr
    • [e]
    Unfortunately if you remove all target attributes you'll mess up the sites that use framesets.
  13. 2005-06-05 10:55:20

    • Bart Verveen
    • [e]
    # 2005-05-25 18:21:01 * meddle * [e] * url Robert, you're right. It'd be better to remove the target check. Javascript file already updated. Thanx. # 2005-05-31 23:24:20 * Assaph Mehr * [e] Unfortunately if you remove all target attributes you'll mess up the sites that use framesets. --------------------------------- target=_ anything with a normal name = frame from w3c.org 6.16 Frame target names Except for the reserved names listed below, frame target names (%FrameTarget; in the DTD) must begin with an alphabetic character (a-zA-Z). User agents should ignore all other target names. The following target names are reserved and have special meanings. _blank The user agent should load the designated document in a new, unnamed window. _self The user agent should load the document in the same frame as the element that refers to this target. _parent The user agent should load the document into the immediate FRAMESET parent of the current frame. This value is equivalent to _self if the current frame has no parent. _top The user agent should load the document into the full, original window (thus canceling all other frames). This value is equivalent to _self if the current frame has no parent.
  14. 2005-06-05 11:00:05

    • Bart Verveen
    • [e]
    wugh that is unreadable now :o ... anyway target=_blank , target=_self, target=_parent, target=_top ::: target="name" is generally used for frames and should indeed stay

Cerrado

Debido a la mierda de spam este weblog queda cerrado a comentarios, era imposible mantener el script de la lista negra al día. Si quieres busca mi email y enviame un mensaje. Lo siento.

Cambia las preferencias

Cambia las preferencias

Licencia

Creative Commons 2001-2004. Sergi Meseguer

Sindicación RSS

rss (1, 2 ), xhtml, css, taw