2012-05-18 42 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