Cita:
Iniciado por maycolalvarez aunque considero que no es la mejor forma, si se puede, el detalle es que tienes que escapar las comillas, porque evidentemente al escribir código js con js el parser se confunde.
es más, lo mejor es concatenar todo el código js en una variable, y volcarlo todo de una vez con write, es solo saber manejar la salida de los datos.
Tampoco resulta la forma como dices MAY, ese Maaaay!
1. Metí todo el código javascript tal cual en una variable y nada.
2. Metí todo el código javascript en una variable y escapé casi cada caracter con &..., y nada.
3. Puse un input text de tal modo que el value fuera el código javascript, y después recoger este value en una variable y así meterlo en la nueva ventana y nada. Así:
Código Javascript
:
Ver originalfunction abrirVentana()
{
var ventana = window.open('', 'ventana', 'width=640, height=480');
ventana.document.write('<head><title>Título nueva ventana</title>' + codigo + '</head>');
ventana.document.write('<body>');
ventana.document.write('<div id="contenedor">');
ventana.document.write('<input type="button" value="Cerrar la nueva ventana" onclick="opener.cerrarNuevaVentana(window)" />');
ventana.document.write('</div>');
ventana.document.write('</body>');
}
En este caso, en la nueva ventana se despliega en pantalla la palabra UNDEFINED. Supongo que aparece esto porque el intérprete no sabe qué clase de contenido tiene la variable CODIGO, si es de tipo numérico, booleano... No se por qué dice que la variable es indefinida si la variable se decalra con comillas, lo que implica que es una variable de cadena. Bueno, como sea, no funciona!
Ayuda!
David respondió satisfactoriamente a mi pregunta inicial.
El problema ahora es más general, cómo llamar cualquier función desde una nueva ventana! Ya hice lo que comenta el deivid, crear un archivo funciones.js y poner allí todas las funciones, después llamarlas desde la ventana pero tampoco jala.