如何打印在Safari的新标签页中打开的PDF文档

时间:2018-06-28 21:36:04

标签: javascript pdf safari onload window.open

我正在尝试在新标签中打开base64 PDF数据并在其上调用打印。

var pdfURL = window.URL.createObjectURL(blobOfPDF);
var iframe = "<iframe src="+pdfURL+"></iframe>";
var tabbedWindow = window.open("", "_blank");
tabbedWindow.document.open();
tabbedWindow.document.write(iframe);
tabbedWindow.focus();
const pdfFrame = tabbedWindow.document.getElementById('pdfFrame');
pdfFrame.contentWindow.onload = function() {
     pdfFrame.contentWindow.print();
};
tabbedWindow.document.close();

这在chrome中效果很好,但是Safari不会切换到window.open上的新标签,并且打印弹出窗口尝试打印空文档。如果我添加了足够的超时时间并切换到之前的选项卡,则打印效果很好。

如何确保仅在用户实际进入新选项卡或完全加载新选项卡时才调用打印。

0 个答案:

没有答案