在iframe中打印PDF时IE9“无效的调用对象”

时间:2012-06-21 17:06:59

标签: javascript pdf iframe acrobat

我在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>标记和X-UA-Compatible

强制浏览器进入IE8兼容模式

1 个答案:

答案 0 :(得分:-3)

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

iframe中的

function printMe() {
    window.print()
}
在父级中

(假设这是您网页上的第一个iframe):

frames[0].printMe()