放慢mywindow.print()

时间:2010-05-11 19:18:14

标签: javascript

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

<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> 

除了两件事外,它的工作正常:

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

1 个答案:

答案 0 :(得分:1)

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

setTimeout(function(){
    mywindow.print();
}, 100);

希望这有帮助!