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)

8 responses


Do you want to comment?

Comments RSS and TrackBack Identifier URI ?

La verdad es que es un artículo muy útil. A la saca!

November 17, 2007 17:01

El parámetro Location no se puede desabilitar (esconder) en versiones actuales por motivos de seguridad.

November 30, 2007 10:25

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 ;)

November 30, 2007 12:02

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.

August 6, 2008 18:07

@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…

August 6, 2008 18:12

y el atributo mce_href que es lo que hace o en este caso para que nos funciona?

July 29, 2009 03:07

el mce_href se me ha colado por culpa del “tiny mce”, el editor html de wordpress… :)

July 29, 2009 23:27

Estuve leyendo tu post y quisiera saber si me podés ayudar, ya que no consigo abrir un reproductor de radio online en una ventana flotante, sino que la abre en una nueva tab.
Copié y pegue tu script y le cambié los parámetros, pero no me da resultado.
Si me decís a donde escribirte, te mando la data que haga falta, a ver si es posible hacer esto.
Desde ya muchas gracias !!!
sensoramaradio.com.ar

August 30, 2009 22:35

Comment now!
















Trackbacks