用于打印的Javascript事件处理程序

时间:2009-02-11 00:44:59

标签: javascript events printing

我想在打印时改变风格:

当调用文件>> print时,您是否可以在javascript中监听?它是什么?另外 - 打印完成后是否有处理程序?它是什么?

或者如果有更好的方法可以通过其他方式(例如样式表)来执行此操作,您是如何做到的?

5 个答案:

答案 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