Problema con ventanas

Hola!
Tengo una programación para lograr que al tocar un botón (swf) de una web me abra una nueva ventana sin las barras del navegador. El problema es que cada vez que (dentro de la misma pantalla de origen) hago click en los diferentes botones, en lugar de abrirme una ventana diferente por cada click me abre una sola ventana. Con cada nuevo click la nueva información se carga en esa misma pantalla. Es decir, quisiera que por cada nuevo click se abra una ventana diferente (sin que se cierren las otras). ¿Cómo puedo lograrlo?
Yo usé el siguiente Javascript entre el tag <HEAD>...</HEAD>
<script language="javascript">
var popUpWin=0;
function popUpWindow(URLStr, left, top, width, height)
{
if(popUpWin)
{
if(!popUpWin.closed) popUpWin.close();
}
popUpWin = open(URLStr, 'popUpWin', 'toolbar=no,location=no,directories=no,status=no,menub ar=no,scrollbar=no,resizable=no,copyhistory=yes,width='+width+',height='+height+',left='+left+', top='+top+',screenX='+left+',screenY='+top+'');
}
</script>
En el flash le di al boton la siguiente acción:
on (release) {
getURL("javascript:popUpWindow('ARCHIVO.html', 10, 10, 300, 220)");
}
Funciona, pero solo abre una nueva ventana la primera vez y luego con cada click, las pantallas se van cargando en esa misma ventana que abrió sin las barras del navegador. Yo quiero que haga lo mismo pero abriendo muchas ventanas (una por cada botón).
¿Qué debería modificarle para lograr que se abran ventanas diferentes?
Muchas gracias por la ayuda.

3 Respuestas

Respuesta
1
Para abrir desde flash una ventana nueva en la cual no aparezca la barra de herramientas, navegación, etc. del IE, lo que debemos hacer es lo siguiente:
Una vez que tenemos listos los botones(esto también funciona en keyframes), le asignamos la acción de Get URL y luego le ponemos en el campo URL el siguiente código Java:
javascript:openNewWindow('http://www.rensonnetwork.com.ar/design',
'First','height=400,width=400,toolbar=no,
scrollbars=yes')
En donde el primer parámetro es la dirección a la cual queremos ir, el segundo es el nombre de la ventana, el tercero va a ser la altura de la nueva ventana, el cuarto es el ancho de la nueva ventana, el quinto es el que especifica si va a aparecer o no la barra de herramientas, y el sexto y ultimo es el que especifica si aparece la barra de desplazamiento.
Los campos 1,3,4 debemos cambiarlo e introducir los parámetros que quieran. En el quinto y el sexto se puede especificar yes o no según nuestras necesidades.
Luego debemos incluir en el html de la página el siguiente JavaScript:
<script language="JavaScript">
function openNewWindow(URLtoOpen, windowName, windowFeatures) { newWindow=window.open(URLtoOpen, windowName, windowFeatures); }
</script>
Por ultimo agregamos el siguiente parametro dentro de la etiqueta <EMBED>
swLiveConnect=true
Fíjate si de esta manera te funciona.
Respuesta
1
En el javascript, si hay una ventana abierta, la cierra y abre otra, con lo que a ti te parece que todas se cargan en la misma.
Lo que pasa es que el script esta hecho expresamente para que no haya más de una ventana, lo cual es en general algo bueno, ya que puede ser cargante para un visitante ver muchas ventanas abriéndose.
Prueba quitándole lo que cierra la ventana y dejalo como:
<script language="javascript">
function popUpWindow(URLStr, left, top, width, height){
this.open(URLStr, 'popUpWin', 'toolbar=no,location=no,directories=no,status=no,menub ar=no,scrollbar=no,resizable=no,copyhistory=yes,width='+width+',height='+height+',left='+left+', top='+top+',screenX='+left+',screenY='+top+'');
}
</script>
Probé lo que me dijiste pero no funcionó. Sigue abriéndolo en la misma ventana y además si bien en flash pongo un nuevo ancho y alto sigue manteniendo el tamaño anterior.
No se si te servirá este dato pero yo parto desde una ventatana popUp de 780 x 500 px. Dentro de esa tengo un botón swf que al clickearlo quiero que abra otra ventana popUp de 300 x 100 px.
Espero tu respuesta.
Muchas gracias
Perdona que no viera el detalle...
En la función:
his.open(URLStr, 'popUpWin', 'toolbar=no,location=no,directories=no,status=no,menub ar=no,scrollbar=no,resizable=no,copyhistory=yes,width='+width+',height='+height+',left='+left+', top='+top+',screenX='+left+',screenY='+top+'');
El segundo parámetro es 'popUpWin', el nombre de la ventana, así que siempre carga en la misma, supongo.
He hecho la prueba poniendo:
his.open(URLStr, '', 'toolbar=no,location=no,directories=no,status=no,menub ar=no,scrollbar=no,resizable=no,copyhistory=yes,width='+width+',height='+height+',left='+left+', top='+top+',screenX='+left+',screenY='+top+'');
Y me va como quieres, es decir, abre una cada vez.
Lo siento pero no funciona. No abre nada.
¿Podrías enviarme de nuevo el código completo?
Además recordá que en flash, en el botón tengo la siguiente acción:
on (release) {
getURL("javascript:popUpWindow('ARCHIVO.html', 10, 10, 300, 220)");
}
¿No tendría que cambiar algo allí también?
Espero que esta vez podamos solucionarlo.
Muchas gracias
Saludos
La función "popUpWindow" que llamas desde el flash no hace falta que la modifiques, porque lo que importa es que donde realmente haces que se abra la ventana, se abran en diferentes.
Con la función que te he dado:
this.open(URLStr, '', 'toolbar=no,location=no,directories=no,status=no,menub ar=no,scrollbar=no,resizable=no,copyhistory=yes,width='+width+',height='+height+',left='+left+', top='+top+',screenX='+left+',screenY='+top+'');
A mi me funciona.
Creo que me deje de poner la "t" de this. Open...
Espero que ese sea el problema, porque ya te digo que a mi me funciona perfectamente el javascript.
La función que realmente abre la ventana es esta this. Open(), donde el segundo parámetro es el nombre de la ventana a la que se afecta. Si le pones siempre el mismo nombre, siempre afecta a la misma ventana, salvo a la primera vez que, como hay una ventana con ese nombre, la abre nueva. Bien, si ese segundo parámetro lo dejas vacío, abre una nueva ventana siempre, y así me funciona a mi.
A ver si se soluciona.
Respuesta
Lo que es de Flash yo no tengo mucha idea, pero si aplicamos el valor 'target=_blank' que se usa en HTML sí que te podría valer para que cada link abriese un nuevo explorer.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas