8

我在 iframe 中打开一个可编辑的 PDF 表单(通过 acrobat 插件打开):

<iframe name="iframe_content" id="iframe_content" src="mypdf.pdf"></iframe>

有一个按钮调用以下打印函数:

function printContent(){
    window.frames["iframe_content"].focus();
    window.frames["iframe_content"].print();
}

它适用于 Chrome、Safari、IE8,但不适用于 IE9。
在 IE9 中,我收到有关该printContent()函数的以下错误:

Invalid calling object 

我认为这可能是让它工作的诀窍,但我不确定如何window.frames适应这个结构:http: //msdn.microsoft.com/en-us/library/ie/gg622930%28v=vs .85%29.aspx

更新:决定对于这个单一页面,最简单的解决方案是使用<meta>标签强制浏览器进入 IE8 兼容模式和X-UA-Compatible

4

1 回答 1

-3

您必须将您的打印功能放在 Iframe 的页面中并从父页面调用它。

在 iframe 中:

function printMe() {
    window.print()
}

在父级中(假设这是您页面上的第一个 iframe):

frames[0].printMe()
于 2012-06-21T17:25:29.427 回答