Sei sulla pagina 1di 4

As que quieres poner un botn que abra una ventanita en la pantalla. Cierto? Bueno, aqu est cmo.

El problema de tener una pgina compleja con varios enlaces es el que, al ingresar a uno y volver, uno tiene que esperar a que la pagina se redibuje de nuevo, lo cual puede ser molesto. Una solucin es abrir una ventanita en el enlace. Muchos la implementan usando un evento onclick que llama a window.open(), de la siguiente forma:
<a href="#" onclick="window.open('pagina.html','window','params')">Bla</a>

El problema con eso es que slo funciona con Javascript. Uno podra cambiar el gato por pagina.html para que funcionara sin Javascript, pero en el navegador con Javascript hace lo mismo en la ventana original, ADEMS de abrir la ventana. Y slo queremos abrir la ventana. Solucin: Agreguemos un return false para evitar tal efecto indeseado.
<a href="pagina.html" onclick="window.open(this.href,'window','params');return false">Bla</a>

(this.href en Javascript apunta al valor del atributo href de este tag (el <a>), que en este caso es 'pagina.html') Otra: siempre es til encapsular las cosas que ocupamos mucho. Por ejemplo, suponiendo que tengamos muchos enlaces de la forma anterior, en los cuales slo vara la direccin de la pgina, podemos crear la siguiente funcin:
<script language="Javascript"> function abrir(pagina) { window.open(pagina,'window','params'); } </script>

Y luego, aplicarla de la siguiente forma:


<a href="pagina.html" onclick="abrir(this.href);return false">

Aqu hay una tabla con los parmetros de window.open. Si tiene Javascript activado, debera abrirse en otra ventana.

Esto fue tomado de la Referencia Client-Side de Javascript de Netscape. Lo puse aqu porque ya alguien busc por 'params' en mi sitio. Se omitieron las caractersticas 'seguras' (las que deben ser activadas en scripts firmados), porque pocos firman sus funciones Javascript; visite el sitio original para acceder a esa informacin. open('URL','nombre_ventana','caractersticas');

Tabla de caracteristicas para una nueva ventana:


Caracterstica Descripcin dependent: (Javascript 1.2) Si es 'yes', crea una nueva ventana como un hijo de la ventana actual. Una ventana dependiente se cierra cuando su ventana madre se cierra. En la plataforma Windows, una ventana dependiente no se muestra en la barra de tareas. directories: Si es 'yes', crea los botones de directorio comunes. height: (Javascript 1.0 y 1.1) Especifica la altura de la ventana en pixeles. hotkeys: (Javascript 1.2) Si 'no' (o 0), desactiva la mayora de las teclas rpidas en una ventana que no tiene barra de men. Las teclas rpidas de seguridad y de salir siguen activadas. location: Si es 'yes', crea un campo de entrada de direccin (URL). menubar: Si es 'yes', crea el men en la parte de arriba de la ventana. personalbar: (Javascript 1.2) Si es 'yes', crea la barra personal, que despliega los botones desde la carpeta de la barra personal de los marcadores. resizable: Si es 'yes', permite al usuario cambiar de tamao la ventana. scrollbars: Si es 'yes', crea barras de desplazamiento horizontales y verticales cuando el documento crece ms grande que las dimensiones de la ventana. status: Si es 'yes', crea la barra de estado en la parte de abajo de la ventana. toolbar: Si es 'yes', crea la barra de navegacin estndar, con botones como 'Atrs' y 'Adelante'. width: (Javascript 1.0 y 1.1) Especifica el ancho de la ventana en pixels. Cerrar/Salir

http://foros.solocodigo.com/viewtopic.php?f=33&t=32180#p119508

Window.open()
por Edo Mar Oct 23, 2007 2:33 pm Hola chicos de SoloCodigo, estoy utilizando la funcin window.open para abrir una ventana entregandole un parametro, el problema es que necesito pasarle 4 parametros, pero cuando agrego estos parametros no me funciona, coloco la funcin y el formulario que estoy usando. <!--html--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>HTML </td></tr><tr><td id='CODE'><!--html1--><!-ENTRE <[color=blue]head> Y </head> !--[/color]> <script languaje="JavaScript"> function AbreVentana(texto) { //captura2.php?tipo=$tipo&nombre=$nombre&id=$id&rutero=$rutero window.open("captura2.php?rutero=" + texto, "_self", "toolbar=yes,menubar=yes,directories=yes,status=yes,resizable=no,location=yes,scrollb ars=yes") } </script> <!-- DENTRO DEL <[color=blue]body> !--[/color]> <form name="frmrutero" method="post"> <input type="text" name="rutero" value="Consultar Rutero" onfocus="if(this.value=='Consultar Rutero') this.value='';" onblur="if(this.value=='') this.value='Consultar Rutero';"> <input type="button" name="rute" value="Consultar" class="button" onClick="AbreVentana(frmrutero.rutero.value)"> </form><!--html2--></td></tr></table><div class='postcolor'><!--html3--> Si trato de colocar ms parametros en AbreVentana(var1,var2,var3) y la utilizo dentro de window.open("captura2.php?rutero=" + var1 + "&tipo=" + var2 + "&origen=" + var3) bueno etc, no junciona, al despichar el botn se queda sin hacer nada, hay alguna forma de utilizar esta fncin con varios parametros. Gracias Chao. [color=blue]programacion,c,c++,C#, java,linux,video juegos,directX, .NET,allegro,asm,ABAP,Delphi,PHP, Perl,Python,Visual Basic,XML,Perl,Flash El pasado son solo recuerdos, el futuro son solo sueos

Edo Gran Colaborador

Mensajes: 2302 Registrado: Vie Ago 13, 2004 5:16 pm Ubicacin: Entre mi mente humana y lo que queda de ella.

Sitio web ICQ

Arriba

Re: Window.open()
por F_Tanori Mar Oct 23, 2007 8:07 pm Revisa que error te da javascript Lo he probado de esta forma y me funciona Mostrar/Ocultar Nmero de lnea | Expandir/Contraer | Seleccionar todo 1. 2. <script> 3. function AbreVentana(var1,var2,var3) 4. { 5. window.open('captura2.php? &var1='+var1+"&var2="+var2+"&var3="+var3,'wPopup','too lbars=no,scrollbars=yes,resizable=yes'); 6. } 7. 8. 9. 10. </script> 11. 12. <input type="button" name="rute" value="Prueba" class="button" onClick="AbreVentana('valor1','valor2','valor3')">

Potrebbero piacerti anche