我已阅读有关Safari和空白打印的所有问题。似乎发生了白色闪光,重新渲染页面,iframe的内容在打印对话框抓取之前就丢失了。
这是我的javascript - 它适用于除safari之外的所有浏览器。它会打开对话框,但会打印一个空白页。
function 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文件中,而不在页面上。我试过这个页面,但同样的事情发生了。
帮助?
答案 0 :(得分: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);
}