我已经阅读了有关 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 文件中,而不是在页面上。我在页面上尝试过,但同样的事情发生了。
帮助?