在Chrome和&amp ;;中使用onafterprint苹果浏览器

时间:2012-03-27 16:39:53

标签: javascript jquery html5 google-chrome safari

我知道直到最近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,如果这还不是很明显的话。

1 个答案:

答案 0 :(得分:0)

经过一些实验,我想我可以肯定地说onafterprint不值得考虑。

  • 即使用户在打印对话框中点击Cancel而不是OK,Firefox也会触发它
  • IE8显然会在出现打印对话框之前将其激活
  • Chrome根本不会触发

相反,只需在调用print()之后直接做任何你想做的事,即

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

function printIt()
{
$('#confirmPrint').show();
};