要複製一個新的頁面,你可以做這樣的事情:將div內容複製到新窗口並保留樣式?
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();
來源:Copy Current Webpage Into a New Window
我怎麼會寫這個
printDocument.write(yourDOCTYPE+
"<html>"+
document.documentElement.innerHTML+
"</html>");
所以它只是包括#report
?我想要的CSS是完整的,所以它不可能這樣做:
printDocument.write(yourDOCTYPE+
"<html>"+
document.getElementById('report').innerHTML+
"</html>");
因爲然後原始頁面的樣式消失了。
UPDATE 一個選擇是躲都躲DOM中的所有元素,除了#report
時開闢了新的彈出窗口。
但我怎麼在純js?
如果我做jquery的是這樣的:
$('body > :not(#report)').hide(); //hide all nodes directly under the body
$('#report').appendTo('body');
它會隱藏(當然)原來的窗口,除了#report
eveything。我不明白如何將其應用於printDocument.write
(所以它適用於彈出窗口)
我不必是一個彈出窗口。如果有人能夠給我一個想法如何解決這個問題,它也可能是一個在瀏覽器中打開的新窗口。
你可以添加你的HTML嗎? –
不會,它會很多,而且沒有那麼相關。這是一個很多css文件的wordpress安裝。我有一個ss文件,我想將其包含在我自己創建的插件中。 – bestprogrammerintheworld