2013-03-11 56 views
3

我想打印按名称索引的数组中的特定帧。我正在使用以下代码:在javascript中调用print()会挂起IE 8浏览器

var frame_name = "abc"; 
frames_array[frame_name].focus(); 
frames_array[frame_name].print(); 

当它在IE8中执行print()语句时,它挂起。这段代码在Firefox,Chrome和IE9中正常工作。

我试过frames_array[frame_name].document.close()但它没有改变任何东西。有没有解决这个问题的方法?

+0

@MichaelFoukarakis:啊。为什么有人在提问时会复制和粘贴投票柜台?无论如何,所以这是一个校对失败,而不是其他任何事情。 – 2013-03-11 13:25:54

回答

3

试试这个功能。它会工作。

function printDiv() { 
var divToPrint = document.getElementById('printArea'); 
    newWin.document.write(divToPrint.innerHTML) 
    newWin.document.close(); 
    newWin.focus(); 
    newWin.print(); 
    newWin.close(); 

} 
+0

0反对接受 \t 即使这没有奏效。我想问题是我没有打开一个新的打印窗口,而是直接打印按钮所在的框架。 – azaveri7 2013-03-12 08:38:59

+0

这工作对我来说,除了如果你使用iframe,你需要删除'newWin.close();'行。 – byteflux 2013-11-04 23:23:38

0

即使这没有奏效。我想问题是我没有打开一个新的打印窗口,而是直接打印按钮所在的框架。

+0

0反对接受 \t 即使这没有奏效。我想问题是我没有打开一个新的打印窗口,而是直接打印按钮所在的框架。 – azaveri7 2013-03-12 06:23:45

-1

尝试frames_array[frame_name].document.execCommand('print', false, null);