在javascript中对框架调用print()会挂起ie8浏览器

Calling print() on a frame in javascript hangs IE 8 browser

本文关键字:挂起 ie8 浏览器 print javascript 框架 调用      更新时间:2023-09-26

我想在一个按名称索引的数组中打印一个特定的帧。我使用以下代码:

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(),但它没有改变任何东西。这个问题有解决办法吗?

试试这个函数。它会成功的。

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

即使这样也不起作用。我想问题是,我没有打开一个新的窗口打印,但直接打印的框架上的按钮是存在的。

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