0

我必须打印一个有图表的报告,当我使用window.print()它时,它会在所有浏览器的预览中显示图表,但不是在 chrome 中。

我使用以下代码:

function Print(strid)
{
    var prtContent = document.getElementById(strid);
    var WinPrint =window.open('','','letf=0,top=0,width=1,height=1,toolbar=0,scrollbars=0,status=0');
    WinPrint.resizeTo(screen.width ,screen.height );
    WinPrint.document.write(prtContent.innerHTML);
    WinPrint.document.close();
    WinPrint.focus();
    WinPrint.print();
    WinPrint.close();
    prtContent.innerHTML=strOldOne;
}

请帮我解决这个问题。谢谢。

4

1 回答 1

0

在 Opera 和 Chrome (Netscape) 中调用 print 之前,您需要一个 timout。

这是解决方案:

function init() {
  var objBrowse = window.navigator;
  if (objBrowse.appName == “Opera” || objBrowse.appName == “Netscape”) {
    setTimeout(‘window.print()’, 1000);
  } else {
    window.print();
    }
}
window.onload = init;

参考:http ://danielbergsten.wordpress.com/2011/01/11/javascript-window-print-does-not-work-in-operachrome-browser/

于 2013-01-22T05:32:53.083 回答