我想要一个按钮"打印所有报告",它将同时打印5个不同的URL。有没有一种方法可以做到这一点,而不让它将你重定向到一个新的页面,我将不得不再次为每个URL和window.print()创建所有代码?
我认为你的曝光方式从各个角度来看都很好。有一个不同的页面打印5个URL的所有代码,并调用window.print()
函数打开打印对话框。
如果没有,您将不得不使用ajax来获取所有5个不同URL的输出,并将其转储到用户单击按钮的同一页面上。但是,我反对这种方法,因为它失去了返回页面的能力,如果用户将其添加书签,则可能会被欺骗。
如果这是你想要的,你可以将所有五个页面的内容AJAX到一个页面中,一旦准备好了,你就可以打印单个页面。如果你使用jQuery,它会像这样:
(
function(){
$.ajax({url:"url1", success:function(resp){
$("#mydiv").html(resp);
//make other similar calls for rest of the pages
//and in your last callback, call window.print()
});
})();
即使您不想使用jQuery,也可以使用原始ajax。
只需使用一个浏览器,您就可以编写一个脚本,从5个url中生成1个url,并用它将html与每个url分离。
<DIV style="page-break-after:always"></DIV>
然后用户可以打印出你的1个url,并拥有5个url的信息。