Ver Mensaje Individual
  #11 (permalink)  
Antiguo 16/04/2013, 20:19
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 5 meses
Puntos: 1567
Respuesta: ¿Cómo escribir código javascript dentro de una nueva ventana creada con ja

Tenés muchas posibilidades. Lo primero que te recomiendo, e que para generar el código javascript utilices esta herramienta

http://foros.emprear.com/javascript/...s/html2js.html

Aqui un ejemplo
la ventana padre
Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <html lang="es-ar">
  3. <meta charset="utf-8" />
  4. <title>Generar ventana javascript</title>
  5. <script type="text/javascript">
  6. //<![CDATA[
  7. var nventana= null;
  8. function nvf(){
  9. var winleft = (screen.width-600)/2;
  10. var wintop = (screen.height-250)/2;
  11. nventana = window.open('','nombreVentana','toolbar=no,location=no,top='+wintop+',left='+winleft+',scrollbars=no,status=no,width=700,height=450');
  12. var strVar="";
  13. strVar += "<!DOCTYPE html>";
  14. strVar += "<html lang=\"es-ar\">";
  15. strVar += "<head>";
  16. strVar += "<meta charset=\"utf-8\" \/>";
  17. strVar += "<title>NuevaVentana<\/title>";
  18. strVar += "<link rel=\"stylesheet\" type=\"text\/css\" href=\"estilos.css\" media=\"screen\" \/>";
  19. strVar += "<style type=\"text\/css\">";
  20. strVar += ".verde{";
  21. strVar += "background:green;";
  22. strVar += "}";
  23. strVar += "<\/style>";
  24. strVar += "<script type=\"text\/javascript\">";
  25. strVar += "function cambiarColor(){";
  26. strVar += "document.getElementById(\"roja\").style.background = \"blue\";";
  27. strVar += "}";
  28. strVar += "<\/script>";
  29. strVar += "<script type=\"text\/javascript\" src=\"fncs.js\"><\/script>";
  30. strVar += "<\/head>";
  31. strVar += "<body>";
  32. strVar += "<div id=\"contenedor\">";
  33. strVar += "<input type=\"button\" value=\"Cerrar la nueva ventana\" onclick=\"self.close();\" \/><br \/>";
  34. strVar += "<input type=\"button\" value=\"Cambiar Roja por Azul\" onclick=\"cambiarColor();\" \/><br \/>";
  35. strVar += "<input type=\"button\" value=\"Cambiar fondo del opener a lime con una función definida en el mismo\" onclick=\"opener.cambiaFondo();\" \/><br \/>";
  36. strVar += "<input type=\"button\" value=\"Poner un nombre en en el campo de texto inferior utilizando una función en un archivo externo (fncs.js)\" onclick=\"cambiaNombre();\" \/><br \/>";
  37. strVar += "<\/div>";
  38. strVar += "<div class=\"verde\">verde<\/div>";
  39. strVar += "<div id=\"roja\">roja<\/div>";
  40. strVar += "Nombre: <input type=\"text\" value=\"\" id=\"nombre\" \/><br \/>";
  41. strVar += "Número: <input type=\"text\" value=\"\" id=\"numero\" \/>";
  42. strVar += "<\/body>";
  43. strVar += "<\/html>";
  44. nventana.document.write(strVar);
  45. }
  46.  
  47. function cambiaFondo(){
  48. document.body.style.background = "lime";
  49. }
  50. function valor_a_hija(n){
  51. if(parseInt(navigator.appVersion) >= 4){nventana.window.focus();}
  52. nventana.document.getElementById('numero').value = n;
  53. }
  54.  
  55. //]]>
  56. </head>
  57. <button onclick="nvf();">Generar nueva ventana</button><br />
  58. <button onclick="valor_a_hija(25);">Pasar número a hija (presionar primero el botón anterior para generar la ventana</button><br />
  59. <button onclick="nvf();setTimeout('valor_a_hija(50)',5000);">Crear ventana hija y pasarle un número (cerrar la nueva ventana si está abierta),<br />
  60. utilizamos setTimeuot para pasar el valor para dar tiempo a que se genere la ventana</button>
  61. </body>
  62. </html>

el css externo llamado en la ventana hija
estilos.css
Código CSS:
Ver original
  1. #roja{
  2. background: red;
  3. }

el js externo llamado en la ventana hija
fncs.js
Código Javascript:
Ver original
  1. function cambiaNombre(){
  2. document.getElementById("nombre").value = "Emprear";
  3. }

Demo funcionando
http://foros.emprear.com/javascript/...r_ventana.html

Esto sería lo básico, hay muchas otras variantes.
Es importante que el html con el que vas a crear la nueva ventana esté bien hecho,
Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.