2013-08-02 113 views
1

我已經閱讀了有關Safari和空白打印的所有問題。在打印對話框可以抓取它之前,似乎發生白色閃光,重新呈現頁面,並且iframe的內容丟失。打印Iframe時使用Javascript打印Safari會產生空白

這是我的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文件中,而不是在頁面上。我在頁面上嘗試過,但同樣的事情發生。

幫助?

回答

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