Necesito ayuda para el sistema de visualización de imágenes en mi página web en Javascript

Tengo una página con fotos tamaño pequeño y al pulsar sobre cada una de ellas, sale una ventana con la foto más grande.
Lo que pasa es, que si abro una ventana grande y le doy a otra pequeña para que se visualice en esa misma ventana grande, lo hace pero la minimiza en la barra de inicio. ¿Cómo podría hacer para mantenerla abierta en pantalla?
El código es del de antes:
function ventana(str) {
searchWin = window.open(str,'ejemplo','scrollbars=no,resizable=no,width=450,height=338,left=275,top=240,status=no,location=no,toolbar=no');
}
Muchas gracias de nuevo..

1 Respuesta

Respuesta
1
Te explico un poco como controlar las ventanas para que te sirva para el futuro.
Es bastante fácil. Si te das cuenta al definir la función que abre una ventana, asignas dicha ventana a una variable:
searchWin = window.open(...)
Te aconsejo que dentro de la función que define la ventana incluyas quien es el padre de dicha ventana, para ello puedes poner algo como:
searchWin = window.open(...)
searchWin.opener=window
Con esto tendrás la posibilidad de referirte a la nueva ventana como searchWin) y si desde la nueva ventana quieres refirirte a la página que la abrió puedes emplear window. Opener.
Por lo tanto la función quedará así:
function ventana(str) {
searchWin = window.open(str,'ejemplo','scrollbars=no,resizable=no,width=450,height=338,left=275,top=240,status=no,location=no,toolbar=no');
searchWin.opener=window
}
Por último si quieres que al abrir la ventana ésta se quede en primer plano puedes jugar con las funciones:
1.- Para poner el foco en la ventana abierta:
searchWin.focus();
2.- Para quitar el foco de la ventana padre:
searchWin.opener.blur()
3.- Para poner el foco sobre la ventana padre desde la ventana hija (es decir, esto lo deberías poner en la ventana que se abre)
window.opener.focus()
Por lo tanto, y para no liarte más, creo que para conseguir lo que tú quieres debería emplear la función:
function ventana(str) {
searchWin = window.open(str,'ejemplo','scrollbars=no,resizable=no,width=450,height=338,left=275,top=240,status=no,location=no,toolbar=no');
searchWin.opener=window
searchWin.focus()
window.blur()
}
Con searchWin.focus() haces que se mantenga en primer plano la nueva ventana.
Con window.blur() haces que la ventnana padre pase a segundo plano.
Así que para cargar algo en la ventana searchWin, primero asignalé su contenido pero luego haz que reciba el foco con searchWin. Focus() y si eso no funciona haz que la ventana padre pierda el foco: window. blur
Creo que me he ido un poco por las ramas. Si no te has aclarado con esto dímelo y seré más breve y conciso en mi respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas