如何使用Javascript连续执行多个打印任务?

时间:2014-09-14 12:45:18

标签: javascript jquery html printing

现在,我需要通过单击一个“打印”按钮来实现打印不同网页的功能。首先,您将看到一个带有不同复选框的网页,因此您可以选择要打印的页面。然后根据选择,选定的网页将被加载到隐藏在当前页面中的不同iFrame,然后使用下面的javascript打印出来。

jQuery("body").on("click", "#printBtn", function() {

    var print_page_1 = false;
    var print_page_2 = false;
    var print_page_3 = false;

    //if the checkbox is checked, then mark it as "true"
    if(jQuery('input[name=page_1]:checked').val() == "1") {
        print_page_1 = true;
    }
    if(jQuery('input[name=page_2]:checked').val() == "2") {
        print_page_2 = true;
    }    
if(jQuery('input[name=page_3]:checked').val() == "3") {
    print_page_3 = true;
} 

    //print selected pages
    if(print_page_1) {
        jQuery('#loaderFrameOne').load(function(){
            var w = (this.contentWindow || this.contentDocument.defaultView);
            w.print();
        });
        jQuery('#loaderFrameOne').attr("src", "webpage-one-url");
    } else if (print_page_2) {
        jQuery('#loaderFrameTwo').load(function(){
            var w = (this.contentWindow || this.contentDocument.defaultView);
            w.print();
        });
        jQuery('#loaderFrameTwo').attr("src", "webpage-two-url");
    } else if (print_page_3) {
        jQuery('#loaderFrameThree').load(function(){
            var w = (this.contentWindow || this.contentDocument.defaultView);
            w.print();
        });
        jQuery('#loaderFrameThree').attr("src", "webpage-three-url");
    }
});

然而,我的问题是,每当我点击打印按钮时,只打印一页(打印页面对话框只出现一次),即使我选择了两个或三个。我想知道是否有办法连续执行所有打印任务,使打印页面对话框一个接一个地出现?

非常感谢提前!

1 个答案:

答案 0 :(得分:1)

你使用了"否则如果"而不是"如果"。因此,只有一个将永远执行