我想在打印時改變樣式:用於打印的Javascript事件處理程序
JavaScript中是否存在可以偵聽文件>> print被調用的事件?它是什麼?另外 - 打印完成後是否有處理程序?它是什麼?
或者如果有更好的方法來做到這一點與其他方式,如樣式表,你如何做到這一點?
我想在打印時改變樣式:用於打印的Javascript事件處理程序
JavaScript中是否存在可以偵聽文件>> print被調用的事件?它是什麼?另外 - 打印完成後是否有處理程序?它是什麼?
或者如果有更好的方法來做到這一點與其他方式,如樣式表,你如何做到這一點?
不同的樣式表
您可以指定印刷不同的樣式表。
<link rel="stylesheet" type="text/css" media="print" href="print.css" />
<link rel="stylesheet" type="text/css" media="screen" href="main.css" />
一個樣式表
正如kodecraft提到的,你也可以把樣式合併到同一個文件中使用@media塊。
@media print {
div.box {
width:100px;
}
}
@media screen {
div.box {
width:400px;
}
}
IE已經onbeforeprint和onafterprint
在IE中有非標準window.onBeforePrint()和window.onAfterPrint()事件偵聽器。然而,我沒有一種非IE的方式來做到這一點。
你想做什麼樣的變化?有可能您的問題可以通過爲您的打印樣式表指定不同的規則來解決。
我們還發現,你可以做一個只打印的樣式有以下:
<style type="text/css">
@media print {
div
{
overflow:visible;
}
}
</style>
的Firefox 6現在支持beforeprint和打印後
https://developer.mozilla.org/en/Printing#Detecting_print_requests
您可以使用matchMedia api https://developer.mozilla.org/en/DOM/window.matchMedia – 2012-03-20 16:13:03
對於打印出來也許不錯將附加內容添加到DOM。這可以通過print.css完成,默認隱藏其他元素,啓用它們。儘管如此,我更喜歡javascript方法。 你知道其他瀏覽器的解決方案嗎? – Hendrik 2012-03-19 23:13:35