Using onafterprint in Chrome & Safari

Using onafterprint in Chrome & Safari

本文关键字:amp Safari Chrome onafterprint in Using      更新时间:2023-09-26

我知道onafterprint直到最近才是IE的原生版本。最近HTML5将其添加到了事件列表中。我只在Firefox中成功地使用了它,但无法在Chrome或Safari中使用它。

它似乎只在Firefox中使用时才起作用:

<body onafterprint="printIt()">

该函数的脚本如下:

$(document).ready(function() {
$('.printMe').click(function() {
    window.print();
    return false;
});
 });
function printIt()
{
$('#confirmPrint').show();
};

单击.printMe按钮,将打开打印窗口。单击打印或取消将在#confirmPrint中显示一条消息。我不太担心他们是点击取消还是打印。我只关心它在Chrome和Safari中的功能。非常感谢您的帮助。我也在使用jQuery,如果这还不明显的话。

经过一些实验,我可以放心地说onafterprint不值得考虑。

  • 即使用户在打印对话框中单击了Cancel而不是OK,Firefox也会触发它
  • IE8显然甚至在打印对话框出现之前就启动了它
  • Chrome根本不会启动它

相反,只需在调用print()后直接执行您想做的任何操作,即

$(document).ready(function() {
$('.printMe').click(function() {
    window.print();
    printIt();
    return false;
  });
});
function printIt()
{
$('#confirmPrint').show();
};