我想在打印时改变风格:
当调用文件>> print时,您是否可以在javascript中监听?它是什么?另外 - 打印完成后是否有处理程序?它是什么?
或者如果有更好的方法可以通过其他方式(例如样式表)来执行此操作,您是如何做到的?
答案 0 :(得分:7)
不同的样式表
您可以指定不同的样式表进行打印。
<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;
}
}
答案 1 :(得分:3)
在IE中有非标准的window.onBeforePrint()和window.onAfterPrint()事件监听器。然而,我所知道的并没有非IE的方法。
您想要做出哪些改变?您可以通过为打印样式表指定不同的规则来解决问题。
答案 2 :(得分:3)
Firefox 6现在支持beforeprint和afterprint
https://developer.mozilla.org/en/Printing#Detecting_print_requests
答案 3 :(得分:2)
我们还发现您可以使用以下内容进行仅打印样式:
<style type="text/css">
@media print {
div
{
overflow:visible;
}
}
</style>
答案 4 :(得分:0)
IE有onbeforeprint和onafterprint