2011-01-11 47 views
4

我想使用這個JavaScript與jQuery打印一定格在我的應用程序:打印事業部使用JavaScript和自然保護區的風格

function PrintContent() 
{ 
w=window.open(); 
w.document.write($('#diary').html()); 
w.print(); 
w.close(); 
} 

,它打開一個新的標籤div和打印選項面板打開時但CSS樣式丟失。我有一個print.css,設置爲media =「print」,但是,我認爲它顯然不是在新標籤中加載這個文件,即它只是加載div而不是CSS的標頭。

任何想法如何解決這個問題?我的JavaScript並不強大。

謝謝!

+0

我需要有以使其適用於印刷的DIV中引用的stlyesheet?或讓它在主頁上足夠? – 2012-08-29 07:41:00

回答

3

嘗試使用該行:

w.document.write('<div id="diary">' + $('#diary').html() + '</div>'); 

你寫出你的div的內部HTML而不是實際的div標籤。

上面的方法也用正確的ID寫出了div標籤。我只是將id粘在那裏,因爲你可能會格式化爲div#diary而不是div

編輯

此方法應保持造型。

function PrintContent() 
{ 
    var e = document.createElement('div'); 
    e.id = 'diary'; 
    e.innerHTML = $('#diary').html(); 
    document.getElementById('t').appendChild(e); 
} 

你一定要做出這個內容可以插入,如與t id的div的地方。就像我在評論中發佈的例子。

+0

嗨@ Wolfy87謝謝你的回答。我沒有意識到內部的html。它似乎仍然失去格式化? – Robimp 2011-01-11 09:55:36

+0

@Robimp是的,這是因爲我們只是添加HTML,更好的方法是這樣的http://jsfiddle.net/Wolfy87/49N44/ – Olical 2011-01-11 10:01:44