Uso correcto de ventana popup con javascript
Seguramente muchos hemos usado javascript para abrir una ventana de tipo “popup” con unas determinadas características. He aquí la forma correcta de hacerlo, a fin de que los buscadores puedan rastrear el link creado:
MAL:
<a href=”javascript:window.open(URL, VENTANA, PROPIEDADES_VENTANA);”>LinkAlicante</a>
BIEN:
<a href=”http://www.linkalicante.com” mce_href=”http://www.linkalicante.com” target=”ventana1″ onClick=”window.open(this.href, this.target, PROPIEDADES_VENTANA); return false;”>LinkAlicante</a>
En el primer caso, estamos llamando a javascript a través de la propiedad href. Los buscadores no pueden rastrear un enlace de este tipo. Además el link no funcionará si el navegador no tuviera javascript activado.En el segundo caso, EL CORRECTO, se solucionan ambos problemas. El enlace tiene un HREF y un TARGET normales. En la propiedad “onClick“, que se activa al pinchar sobre el enlace, es donde añadimos el comportamiento extra, llamando a la “window.open” a fin de que la ventana se abra con las propiedades deseadas
“this.href” hace referencia al contenido de la propiedad href del enlace, lo mismo que “this.target”. El que no tenga claro estos conceptos, debería repasar un poco de Programación Orientada a Objetos
PROPIEDADES DE LA VENTANA:
(esta última parte del post ha sido extraída de: http://www.desarrolloweb.com/articulos/18.php) No obstante la forma en que se definen los enlaces en esta página no es la correcta.
- Width. Ajusta el ancho de la ventana. En pixels
- Height. Ajusta el alto de la ventana
- Top. Indica la posición de la ventana. En concreto es la distancia en pixels que existe entre el borde superior de la pantalla y el borde superior de la ventana.
- Left. Indica la posición de la ventana. En concreto es la distancia en pixels que existe entre el borde izquierdo de la pantalla y el borde izquierdo de la ventana.
- Scrollbars. Para definir de forma exacta si salen o no las barras de desplazamiento. scrollbars=NO hace que nunca salgan. Scrollbars=YES hace que salgan (siempre en ie y solo si son necesarias en Firefox).
- Resizable. Establece si se puede o no modificar el tamaño de la ventana. Con resizable=YES se puede modificar el tamaño y con resizable=NO se consigue un tamaño fijo.
- Directories (barra directorios). A partir de aquí se enumeran otra serie de propiedades que sirven para mostrar o no un elemento de la barra de navegación que tienen los navegadores más populares, como podría ser la barra de menús o la barra de estado. Cuando ponemos el atributo=YES estamos forzando a que ese elemento se vea. Cuando ponemos atributo=NO lo que hacemos es evitar que ese elemento se vea.
- Location (barra direcciones)
- Menubar (barra de menús)
- Status (barra de estado)
- Titlebar (la barra del título)
- Toolbar (barra de herramientas)
Enlace de prueba con popup javascript:
LinkAlicante (abrir en ventana nueva)




Angel L. Valero
17/11/2007 - 17:01
La verdad es que es un artículo muy útil. A la saca!
Maledyctos
30/11/2007 - 10:25
El parámetro Location no se puede desabilitar (esconder) en versiones actuales por motivos de seguridad.
fer
30/11/2007 - 12:02
La verdad es que no lo he probado a fondo, pero creo que “location”, la barra de direcciones como tal, sí que se puede ocultar).
Lo que no se puede ocultar es la barra del título (titlebar), es el título de la ventana, y al ser una ventana popup, lo que sucede es que al título que tenga la página se antepone la dirección (url) de la misma.
La barra de estado (status) parece que tampoco se puede ocultar.
He añadido un enlace aplicando lo que se dice en la entrada al final de la misma.
Saludos
raul
6/08/2008 - 18:07
Seria posible que en el href del enlace apareciera la direccion de la foto y poder pasarle parámetros de alguna forma para construir una nueva pagina al abrir el enlace y que no aparezca solamente la foto.
Se que si pongo en el href la direccion de un .php alli puedo cargar la foto y hacer lo que quiera. El problema es que en el href del enlace quiero que aparezca la url de la foto de cara al google y no un enlace a un .php.
Gracias.
fer
6/08/2008 - 18:12
@raul: supongo que podrías hacer algo así:
<a href=”http://rutadelaimagen” target=”ventana1″ onClick=”window.open(”http://rutadelphp”, this.target, PROPIEDADES_VENTANA); return false;” “>LinkAlicante</a>
es decir, pones en el href la ruta de la imagen, y en el window.open, la dirección de la página php que carga la imagen.
Pruébalo y me dices…