1

我已经阅读了有关 Safari 和空白打印的所有问题。似乎发生了白色闪光,重新渲染页面,并且 iframe 的内容在打印对话框可以抓取之前丢失。

这是我的 javascript - 它适用于除 safari 之外的所有浏览器。它会打开对话框,但会打印一个空白页。

函数 PrintPopupCode(id) {

framedoc = document; var popupFrame = $(framedoc).find("#" + id + '\\!PopupFrame'); var icontentWindow = popupFrame[0].contentWindow || popupFrame[0].contentDocument; icontentWindow.focus(); icontentWindow.print(); } function PrintPopup(id) { setTimeout(function () { PrintPopupCode(id) }, 3000); }

我已经设置了一个超时,我之前读过如果内容传输需要一些时间会有所帮助,但它没有帮助。

我也尝试过在 icontentWindow 变量上使用 printElement() 函数,但它不支持这种方法。

打印元素方法

这都在一个 .js 文件中,而不是在页面上。我在页面上尝试过,但同样的事情发生了。

帮助?

4

1 回答 1

0

也许你应该试试这个:

function PrintPopupCode(id) {
   framedoc = document;

   var popupFrame = $(framedoc).find("#" + id + '\\!PopupFrame');
   var icontentWindow = popupFrame[0].contentWindow || popupFrame[0].contentDocument;
   icontentWindow.focus();
   setTimeout(icontentWindow.print, 3000);
}

function PrintPopup(id) {

   PrintPopupCode(id);
}
于 2014-05-20T03:18:36.253 回答