我有一个使用jqprint的javascript打印特性(尽管我对代码做了一些小的调整)。
这个打印功能在IE8和Chrome上没有问题。在IE9上,它没有显示JS错误,浏览器打印对话框如预期的那样显示,但是一旦我点击打印,什么也没有发生。最后,我电脑上的所有应用程序都开始延迟,我不得不重新启动。
如果我打开开发人员工具包(F12)并将文档模式设置为IE8标准,则在IE9中打印良好。
怎么回事?我真的很困惑……
编辑:我的电脑没有连接到打印机,所以我使用内置的"Microsoft XPS Document Writer"进行测试。我已经在IE8和Chrome的实际打印机上测试了代码,它确实有效。
:
由于某种原因,这个今天停止工作了,有人有什么想法吗?
我不知道为什么,但我让它工作。
当它调用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();