如何通过一次单击多次打印?

时间:2013-07-18 22:38:15

标签: javascript jquery printing

我想在有人点击打印时多次打印这个iframe。这是我到目前为止,但它只打印一次。有没有人有什么建议?提前谢谢。

$("#printing").on('click',function(){
                var printYesNo = 1;     
                alert("hi");    
                for(var count = 1; count < 3; count++) {
                    $('body').append('<iframe src="flyer.php?userNow='+count+'" id="printIFrame" name="printIFrame"></iframe>');
                    $('#printIFrame').bind('load', 
                        function() {                                
                            window.frames['printIFrame'].focus(); 
                            window.frames['printIFrame'].print();                           
                        }                       
                    );
                }
});

1 个答案:

答案 0 :(得分:2)

你给每个元素提供相同的ID和名称,然后重点打印等。这看起来似乎不对,并且执行方式略有不同会在某些浏览器中触发多个打印对话框(打印iFrame不是跨浏览器):< / p>

$("#printing").on('click', function () {
    for (var count = 1; count < 13; count++) {
        (function(k) {
            $('<iframe />', {
                id   : 'printIFrame' + k,
                name : 'printIFrame' + k,
                on   : {
                    load: function() {
                        this.contentWindow.focus();
                        this.contentWindow.print();
                    }
                },
                src  : 'flyer.php?userNow=' + k,
            }).appendTo('body');
        })(count);
    }
});

FIDDLE