打印期间隐藏元素并在打印完成后显示

时间:2015-01-27 07:03:59

标签: jquery html printing

http://www.highcharts.com/demo 此链接包含jquery图表。图表演示的右上角有一个打印选项。它在打印过程中隐藏元素,这很容易做到,但它显示了打印后的所有元素。这意味着他们会检测打印是否完成。如何在我自己的网页上实现这种打印技术?

1 个答案:

答案 0 :(得分:0)

这有javascript事件。正如您在此代码中看到的,取自: http://tjvantoll.com/2012/06/15/detecting-print-requests-with-javascript/

(function() {
    var beforePrint = function() {
        console.log('Functionality to run before printing.');
    };
    var afterPrint = function() {
        console.log('Functionality to run after printing');
    };

if (window.matchMedia) {
    var mediaQueryList = window.matchMedia('print');
    mediaQueryList.addListener(function(mql) {
        if (mql.matches) {
            beforePrint();
        } else {
            afterPrint();
        }
    });
}

window.onbeforeprint = beforePrint;
window.onafterprint = afterPrint;
}());
IE5 +和Firefox6 +支持window.onbeforeprint和window.onafterprint,但对于Webkit浏览器,window.matchMedia有一个解决方法。

此解决方案不适用于Opera,只有Firefox,IE和WebKit浏览器。