检测是否在窗口打印预览上单击“打印/取消”按钮

时间:2019-04-10 03:53:57

标签: javascript html

我想检测是否弹出window.print()进行预览时是否单击了“打印/取消”按钮。

如果单击打印,我需要用一些数据更新数据库。

就像打印按钮上的回调函数。

我已经进行了一些研究,但仍然找不到任何答案,如果还有其他替代方法,请提出建议。 非常感谢。

我已经尝试了以下方法,但是它不起作用,window.onafterprint函数将在window.print()加载后触发,这意味着用户仍可以关闭打印预览而不进行打印。

(function(){

    var beforePrint = function () {
        alert('Functionality to run before printing.');
    };

    var afterPrint = function () {
        alert('Functionality to run after printing');
    };

    if (window.matchMedia) {
        var mediaQueryList = window.matchMedia('print');

        mediaQueryList.addListener(function (mql) {
            //alert($(mediaQueryList).html());
            if (mql.matches) {
                beforePrint();
            } else {
                afterPrint();
            }
        });
    }

    window.onbeforeprint = beforePrint;
    window.onafterprint = afterPrint;

}());

0 个答案:

没有答案