Я работаю над небольшим проектом в JavaScript/jQuery.Создать новое окно с помощью jquery
Для отображения результатов расчета сделан в JavaScript, я хотел бы, чтобы открыть новое окно с каким-то предопределенным содержанием и изменением этого контент, чтобы отобразить результаты: Im используя следующий код:
var resultwindow = window.open('result.html')
var doc = $('body', resultwindow.document);
doc.append("<p>Result</p>")
Это не работает, поскольку результирующий документ еще не загружен при добавлении содержимого, поэтому он перезаписывается содержимым «result.html».
Я также попытался
$(resultwindow.document).ready(function() {
// ... Fill result document here
})
и
$(resultwindow.document).load(function() {
// ... Fill result document here
})
но ready()
работает только на текущем документе (он вызывается сразу, если текущий документ уже загружен), и load
не получить вызов вообще.
Возможно, кто-то может указать мне в правильном направлении. Заранее спасибо!
EDIT:
я, наконец, решить, создав новый документ «вручную» в JavaScript, как:
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
Если бы я сделать то же самое сегодня (два года опыта позже), я бы использовал некоторую библиотеку шаблонов Javascript, например Handlebars, чтобы сохранить шаблон и скомпилировать его в javscript.
Мартин, вы получили эту работу? У меня похожая проблема. – Shaunak
@Shaunak Я опубликовал свое решение с двух лет назад, как отредактировав вопрос, также упомянул, как бы я решил сегодня ... hth. – MartinStettner