Javascript 减慢mywindow.print()的速度

Javascript 减慢mywindow.print()的速度,javascript,Javascript,我正在使用这个漂亮的打印脚本: <script type="text/javascript"> function PrintElem(elem) { Popup($(elem).text()); } function Popup(data) { var mywindow = window.open('', 'my div', 'height=400,width=600');

我正在使用这个漂亮的打印脚本:

<script type="text/javascript"> 
     function PrintElem(elem) 
    { 
        Popup($(elem).text()); 
    } 
     function Popup(data)  
    { 
        var mywindow = window.open('', 'my div', 'height=400,width=600'); 
        mywindow.document.write('<html><head><title>my div</title>'); 
        /*optional stylesheet*/ //mywindow.document.write('<link rel="stylesheet" href="main.css" type="text/css" />'); 
        mywindow.document.write('</head><body >'); 
        mywindow.document.write(data); 
        mywindow.document.write('</body></html>'); 
        mywindow.document.close(); 
        mywindow.print(); 
        return true; 
    } 
</script> 
</head> 
<body> 

函数PrintElem(elem)
{ 
弹出($(elem.text());
} 
功能弹出窗口(数据)
{ 
var mywindow=window.open(“”,'my div','height=400,width=600');
mywindow.document.write('mydiv');
/*可选样式表*///mywindow.document.write(“”);
mywindow.document.write(“”);
mywindow.document.write(数据);
mywindow.document.write(“”);
mywindow.document.close();
mywindow.print();
返回true;
} 
除了两件事外,它工作正常:

  • mywindow.print()
    在页面完全加载之前被触发,因此您无法在窗口中看到要打印的材料(如果选择“打印”,它将正确打印)
  • 打印对话框将在窗口顶部打开,阻止内容(假定#1很容易修复)。它如何定位
  • 谢谢-TY

    试试看

    mywindow.document.body.onload = function(){
        mywindow.print();
    };
    

    希望这有帮助

    谢谢“jimbojw”和“pranay”-你太棒了!!这台机器运转得很好。我为我的应用程序做了一些调整,在所有浏览器中一切都很顺利。使用onload无法打开“打印”对话框-不确定原因,因为代码应该正常工作。我还将尝试使用jQuery,但目前它工作得很好。非常感谢!
    setTimeout(function(){
        mywindow.print();
    }, 100);