在Firefox中使用document.frames打印iFrame

时间:2012-05-18 12:19:12

标签: javascript jquery pdf iframe printing

这让我发疯了。

我在这里和其他网站上经历了几个问题,无法让它发挥作用。

我的父页面中有一个包含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?

和其他一些人有类似的建议。

使用 Firefox

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

ID为printFrame的按钮,框架本身的ID(和名称)为loyaltyBadge

1 个答案:

答案 0 :(得分:2)

以下适用于Firefox 11:

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