2012-05-18 32 views
3

這讓我瘋狂。在Firefox中使用document.frames打印iFrame

我已經在這裏和其他網站上經歷了幾個問題,不能得到它的工作。

我在我的父頁面中有一個包含PDF文檔的iFrame。

iFrame(和PDF)很小,所以Adobe Reader導航被隱藏,因此在Adobe Reader中使用打印功能是不切實際的。

所以,我想要一個按鈕(必須在父框架中),它可以在iFrame窗口上觸發Print

print a PDF Iframe in firefox

How to print pdf in iframe using javascript in ie6?

和其他一些有類似的建議。

使用火狐

document.getElementById('loyaltyBadge').focus(); 
document.getElementById('loyaltyBadge').contentWindow.print(); 

什麼也不做

document.frames['loyaltyBadge'].focus(); 
document.frames['loyaltyBadge'].contentWindow.print(); 

什麼也不做

document.frames.loyaltyBadge.focus(); 
document.frames.loyaltyBadge.contentWindow.print(); 

返回document.frames is undefined ...一樣:

document.loyaltyBadge.print(); 

雖然這部作品在Chrome

我不想負載自動打印,但我需要打印按鈕。

所有線的上方被包裹在:

$('#printFrame').click(function() { }); 

具有printFrame一個id和框架本身的按鈕具有loyaltyBadge

回答

2

以下作品的ID(和名稱),用於我Firefox 11:

window.frames.loyaltyBadge.focus(); 
window.frames.loyaltyBadge.print(); 
+0

真的?這很奇怪,它對我來說無能爲力。我在FF 12,但我不明白爲什麼應該阻止它! –

+0

我已經檢查了點擊事件被捕獲的確定,通過在那裏添加一個警報,該工作,但沒有其他事情發生。 –

+0

你是否試過從螢火蟲運行那個(確切的)代碼? – Pete