Скопируйте текущую веб-страницу в новое окно

Я должен быть в состоянии скопировать текущую веб-страницу в новое всплывающее окно для предварительного просмотра. Существует сетка на странице с детьми, поэтому если они разворачивают одну из строк для наблюдения дочерних строк, я должен показать это в новом окне.

Действительно ли это возможно?

У меня в настоящее время есть всплывающее окно, открывают ту же страницу, но все ни одна из строк не расширена.

11
задан Martin 28 January 2010 в 14:25
поделиться

4 ответа

Возможно, это делает трюк (в IE и Firefox, а не в Opera. Не знаю о webkit):

var yourDOCTYPE = "<!DOCTYPE html..."; // your doctype declaration
var printPreview = window.open('about:blank', 'print_preview');
var printDocument = printPreview.document;
printDocument.open();
printDocument.write(yourDOCTYPE+
           "<html>"+
               document.documentElement.innerHTML+
           "</html>");
printDocument.close();

(обратите внимание на разницу между окном .Open () и документ .Open () !)

Однако вы потеряете все пользовательские дома, такие как обработчики событий и так далее. Тем не менее, это может работать, если вы просто хотите скопировать «Вставить свой HTML».

9
ответ дан 3 December 2019 в 10:26
поделиться

Кодируйте состояние открытых/закрытых строк в формат строки запроса (например, "open=row1+row5+row10") и передайте эту строку в url во вновь открываемое окно (например, "host.com/blah.html?open=row1+row5+row10"). На целевой странице, в функции onload, рассмотрим объект размещения и еще раз развернем эти строки.

0
ответ дан 3 December 2019 в 10:26
поделиться

Вы просто прячете/показываете свои ряды с помощью дисплея: нет;? Как вы загружаете всплывающую страницу? Если вы снова загружаете страницу, вы можете использовать AJAX для передачи набора данных на целевую страницу.

Присвойте каждой строке уникальный идентификатор, а для каждой расширяемой строки добавьте идентификатор строки в массив. Передайте этот массив или объект в качестве члена данных через AJAX при вызове функции предварительного просмотра печати, а затем разверните соответствующие строки в функции обратного вызова после загрузки страницы.

0
ответ дан 3 December 2019 в 10:26
поделиться

Виртуальная машина Java (JVM) должна запустить приложение где-либо. Поскольку Java не имеет понятия «вещи вне класса», метод, вызываемый JVM, должен быть в классе. И поскольку он статичен, экземпляр этого класса еще не создан.

-121--2367062-

Именно так был разработан Java: (почти) все является объектом, а код может существовать только как часть класса.

Поскольку main () является статическим, его вызов не приводит к автоматическому созданию экземпляра класса. Однако совершенно возможно (и довольно часто, по крайней мере в небольших программах Swing и апплетах), чтобы класс, содержащий main () , был нормальным классом, который создается и используется как любой другой класс.

-121--2367070-

Также можно использовать JavaScript для доступа к всплывающему окну и вызова таких функций, как «heyRow (x)». Я добавлю лучший пример, когда вернусь домой (iPod touch - это не удовольствие вводить код)

0
ответ дан 3 December 2019 в 10:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: