现在我需要实现一个通过单击“打印”按钮来打印不同网页的功能。首先,您将看到一个带有不同复选框的网页,因此您可以选择要打印的页面。然后根据选择,将选定的网页加载到隐藏在当前页面中的不同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");
}
});
但是,我的问题是,每当我单击打印按钮时,即使我选择了两页或三页,也只会打印一页(打印页对话框仅出现一次)。请问有没有办法可以连续执行所有打印任务,让打印页面对话框依次出现?
非常感谢!
最佳答案
您使用了“else if”而不是“if”。因此,始终只会执行一个
关于javascript - 如何使用 Javascript 连续执行多个打印任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25833365/