2009-05-01 158 views
1

cbjsonline.com,我想用javascript自動在iframe中打印pdf。如何從iframe中打印pdf?

目前,我的代碼 - (連接到打開的IFRAME鏈接的onclick) - document.getElementById('fancy_frame').onload = setTimeout('window.print()',2500);

有什麼建議?此方法僅適用於Safari瀏覽器。

+0

你在其他瀏覽器中遇到錯誤嗎?他們是什麼? – Adam 2009-05-01 17:23:24

回答

2

嘗試將一個函數指針傳遞給setTimeout,而不是獲得eval'd的表達式。

document.getElementById('fancy_frame').onload = setTimeout(printWindow, 2500); 

// implemented in the HTML that is loaded in 'fancy_frame' 
function printWindow() 
{ 
    window.print(); 
} 
+0

謝謝!這就是我嘗試做的,但加載時間到目前爲止,它不工作。此外,IE試圖打印瀏覽器窗口,而不是PDF,並給出了幾個JS錯誤。 我可能會這樣做,只適用於Firefox和Safari。 – CodeJoust 2009-05-02 17:04:36

0

好的,我決定讓用戶打印頁面。 我認爲帶有PDF的iFrames太過於試圖用javascript打印。 如果有人想嘗試這個,這是我推薦的。 使用jquery加載,它檢查資產,不僅僅是加載,而是加載管理器,因爲adobe reader的延遲在各臺計算機之間差別很大。 此外,嘗試命名和聚焦iframe打印之前(通過名稱,所以iframe.print(),而不是window.print()),這樣它不會嘗試打印當前頁面。 在這個應用程序中使用scribd ipaper查看器可能會更好。