IE9为什么不打印任何东西?

时间:2013-04-15 18:26:34

标签: javascript jquery internet-explorer-9 jqprint

我有一个使用jqprint的javascript打印功能(虽然我对代码进行了一些小的调整)。

此打印功能适用于IE8和Chrome,没有任何问题。但是在IE9上,它没有显示JS错误,浏览器打印对话框按预期显示,但是一旦我点击打印,就没有任何反应。最终,我计算机上的所有应用程序都开始滞后,我不得不重启。

如果我打开开发人员工具包(F12)并将文档模式设置为IE8标准,它在IE9中打印正常。

发生了什么事?老实说,我很困惑......

修改

我的电脑没有连接到打印机,所以我使用内置的“Microsoft XPS Document Writer”进行测试。我已经在IE8和Chrome中的实际打印机上测试了代码,但它确实有效。

更新

今天由于某种原因停止了工作,任何人都有任何想法?

1 个答案:

答案 0 :(得分:0)

我不明白为什么,但我让它发挥作用。

当它调用print函数时,它在刚刚创建的jquery对象(iframe)上调用它。我更改了jqprint代码,每次都重新抓取对象。

原始jqprint代码:

 $iframe[0].contentWindow.document.close();
 ....

修改了jqprint代码:

$('iframe')[0].contentWindow.document.close();
$('iframe')[0].contentWindow.focus();
$('iframe')[0].contentWindow.print();
$('iframe')[0].contentWindow.close();