使用Javascript进行Safari打印时,在打印Iframe时会生成空白

时间:2013-08-02 14:17:36

标签: javascript jquery safari

我已阅读有关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()函数,但它不支持这种方法。

Print Element Method

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

帮助?

1 个答案:

答案 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);
}