Ver Mensaje Individual
  #12 (permalink)  
Antiguo 17/04/2013, 10:54
Avatar de berkeleyPunk
berkeleyPunk
 
Fecha de Ingreso: febrero-2013
Ubicación: México :C
Mensajes: 565
Antigüedad: 11 años, 9 meses
Puntos: 22
De acuerdo Respuesta: ¿Cómo escribir código javascript dentro de una nueva ventana creada con ja

Cita:
Iniciado por emprear Ver Mensaje
Tenés muchas posibilidades. Lo primero que te recomiendo, e que para generar el código javascript utilices esta herramienta

[url]http://foros.emprear.com/javascript/generador_html_js/html2js.html[/url]
...
...
...
Una vez más, el Maestro Emprear tenía que resolver uno de mis problemas con javascript. Qué pasó, cómo estás compañero!

Estuve revisando el código que pones aquí arriba, y vi que en el fondo, toda la bronca nace al no escapar comillas, como decía el may (maycolalvarez). Pero no sólo las comillas, también las diagonales. Y con eso, el parser ya no se confunde con dónde empieza y dónde acaba el código de la función de la ventana padre...

El ejemplo que pones es amplio, y estudiándolo bien, permite aprender cómo interactúan las ventanas padre e hija.

Aprendí de tu código y ahora sí puedo ejecutar la función que yo quería que se ejecutara en la ventana hija, a saber, una función que contuviera un setTimeout:

Código HTML:
Ver original
  1. <input type="button" value="Abrir nueva ventana!" onclick="abrirVentana()" />

Y
Código Javascript:
Ver original
  1. function abrirVentana()
  2.     {
  3.         var ventana = window.open("", "ventana1", "width=300, height=200, scrollbars=no");
  4.         var strVar  = "";
  5.        
  6.         strVar = strVar + "<head>";
  7.         strVar = strVar + "<title>Ésta es una nueva ventana<\/title>";
  8.         strVar = strVar + "<script type=\"text\/javascript\">";
  9.         strVar = strVar + "function cerrarVentana()";
  10.         strVar = strVar + "{";
  11.         strVar = strVar + "window.close()";
  12.         strVar = strVar + "}";
  13.         strVar = strVar + "function cerrarVentanaAuto()";
  14.         strVar = strVar + "{";
  15.         strVar = strVar + "setTimeout(\"window.close()\", 3000)";
  16.         strVar = strVar + "}";
  17.         strVar = strVar + "<\/script>";
  18.         strVar = strVar + "<\/head>";
  19.         strVar = strVar + "<body onload=\"cerrarVentanaAuto()\">";
  20.         strVar = strVar + "<input type=\"button\" value=\"cerrar ventana\" onclick=\"cerrarVentana()\" />";
  21.         strVar = strVar + "<input type=\"button\" value=\"cerrar ventana después de 3 segs\" onclick=\"cerrarVentanaAuto()\" />";
  22.         strVar = strVar + "<\/body>";
  23.        
  24.         ventana.document.write(strVar);
  25.     }

Dos cosas más y doy por solucionado este post, que de seguro le servirá a mucha gente.

1. En la ventana hija, si le doy clic al botón "cerrar ventana después de 3 segs", se ejecuta la función pertinente a la perfección. Pero si hago que se ejecute dicha función al cargarse esta ventana nueva, con el onload, no funciona. ¿Por qué?
2. Más exactamente, cómo funciona la herramienta que pones en el enlace http://foros.emprear.com/javascript/...s/html2js.html ?


.

Última edición por berkeleyPunk; 17/04/2013 a las 11:04