javascript - 在 Chrome 和 Safari 中使用 onafterprint

标签 javascript jquery html 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,如果这还不是很明显的话。

最佳答案

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

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

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

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

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

关于javascript - 在 Chrome 和 Safari 中使用 onafterprint,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9893888/

相关文章:

javascript - 方法执行 JavaScript

javascript - 使用 DropDownList 中的多个值填充文本框

javascript - jQuery 对象 `toString()` 方法

javascript - 我正在编写一个 Javascript 函数来为表格中的每一行涂上不同的颜色。为什么我的代码不起作用?

javascript - 我在哪里可以找到有关新 Canvas HTML 元素如何工作的有用信息?

javascript - 如何在单击时更改 div 的位置并在再次单击时按原样移动?

javascript - 对服务器的更大请求与客户端上的更多 javascript

javascript - 悬停时图像变化

javascript - 解析 xml 并使用 php 将其转换为 json 以便与 $.ajax 一起使用时遇到问题

jquery - Bootstrap 4 带有表单的网格布局