Estoy trabajando en un pequeño proyecto en JavaScript/jQuery.Crear nueva ventana utilizando jquery
Con el fin de mostrar los resultados de un cálculo hecho en javascript, me gustaría abrir una nueva ventana con un cierto contenido predefinido y modificar este contenido con el fin de mostrar los resultados: Im usando código como este:
var resultwindow = window.open('result.html')
var doc = $('body', resultwindow.document);
doc.append("<p>Result</p>")
Esto no funciona, ya que el documento de resultados aún no está cargado cuando anexo el contenido, por lo que se sobrescribe con el contenido de 'result.html'.
También probé
$(resultwindow.document).ready(function() {
// ... Fill result document here
})
y
$(resultwindow.document).load(function() {
// ... Fill result document here
})
pero ready()
funcionan sólo en el documento actual (se llama de inmediato, si el documento actual ya está cargado), y no lo hace load
ser llamado en absoluto.
Quizás alguien pueda indicarme la dirección correcta. ¡Gracias por adelantado!
EDITAR:
finalmente resuelto mediante la creación de un nuevo documento "a mano" en Javascript como:
w = window.open('','newwinow','width=800,height=600,menubar=1,status=0,scrollbars=1,resizable=1);
d = w.document.open("text/html","replace");
d.writeln('<html><head>' +
'<link rel="stylesheet" type="text/css" href="style.cs"/></head>' +
+'<body></body></html>');
// use d to manipulate DOM of new document and display results
Si tuviera que hacer lo mismo hoy (dos años de experiencia más adelante), usaría una biblioteca de plantillas de Javascript como Handlebars para mantener una plantilla y compilarla en javscript.
Martin ¿lo consiguió? Tengo un problema similar. – Shaunak
@Shaunak Publiqué mi solución de hace dos años como edición de la pregunta, también mencioné cómo la resolvería hoy ... hth. – MartinStettner