Возможно, это помогает (в 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();
(Обратите внимание на разницу между window.open()
и document.open()
!)
Однако вы потеряете все пользовательские вещицы DOM, такие как обработчики событий и так далее. Тем не менее, это может сработать, если вы просто хотите скопировать и вставить свой HTML.