Javascript 如何通过代码调整打印选项?
我在Joomla有订票系统 当用户单击票证链接时,票证将显示在站点上 我正在使用一个barcode.php文件来生成票号的条形码图像 现在有两个场景我用来打印票据Javascript 如何通过代码调整打印选项?,javascript,php,joomla,Javascript,Php,Joomla,我在Joomla有订票系统 当用户单击票证链接时,票证将显示在站点上 我正在使用一个barcode.php文件来生成票号的条形码图像 现在有两个场景我用来打印票据 当我使用window.print()或Ctrl+p打印该票据时,会打印两页 即使我的票证内容只有一页 当我使用下面的javascript代码打印页面的特定部分时,不会生成条形码图像 function print_specific_div_content(){ var content = "<html>";
window.print()
或Ctrl+p打印该票据时,会打印两页
即使我的票证内容只有一页function print_specific_div_content(){
var content = "<html>";
content += document.getElementById("divToPrint").innerHTML ;
content += "</body>";
content += "</html>";
var printWin = window.open('','','left=0,top=0,width=552,height=477,toolbar=0,scrollbars=0,status =0');
printWin.document.write(content);
printWin.document.close();
printWin.focus();
printWin.print();
printWin.close();
}
function print\u specific\u div\u content(){
var-content=“”;
content+=document.getElementById(“divToPrint”).innerHTML;
内容+=”;
内容+=”;
var printWin=window.open(“”,,“left=0,top=0,width=552,height=477,toolbar=0,scrollbars=0,status=0');
printWin.document.write(内容);
printWin.document.close();
printWin.focus();
printWin.print();
printWin.close();
}
function print\u specific\u div\u content(){
var win=window.open(“”,,“left=0,top=0,width=552,height=477,toolbar=0,scrollbars=0,status=0');
var handler=function(){
win.print();
win.close();
};
if(win.addEventListener)
win.addEventListener('load',handler,false);
否则,如果(赢,附件)
win.attachEvent('onload',handler,false);
var-content=“”;
content+=document.getElementById(“divToPrint”).innerHTML;
内容+=”;
内容+=”;
赢。文件。写(内容);
win.document.close();
}
仅打印内容时,您需要等待文档加载后再打印,以便加载图像:
function print_specific_div_content(){
var win = window.open('','','left=0,top=0,width=552,height=477,toolbar=0,scrollbars=0,status =0');
var content = "<html>";
content += "<body onload=\"window.print(); window.close();\">";
content += document.getElementById("divToPrint").innerHTML ;
content += "</body>";
content += "</html>";
win.document.write(content);
win.document.close();
}
function print\u specific\u div\u content(){
var win=window.open(“”,,“left=0,top=0,width=552,height=477,toolbar=0,scrollbars=0,status=0');
var-content=“”;
内容+=”;
content+=document.getElementById(“divToPrint”).innerHTML;
内容+=”;
内容+=”;
赢。文件。写(内容);
win.document.close();
}
我正在调用javascript函数onclick一个按钮的事件。所以图像是aleady加载的。不是吗?不是,因为您刚刚添加了“new”在新窗口中将HTML转换为新文档,需要对其进行解析并加载其图像。哦,对了。但我不知道如何使用您提供的代码。您能解释一下吗?您需要将对print
和close
的调用移动到onload
事件的处理程序中。您可以像我一样使用代码在content
和printWin
中替换它,并调用您自己的窗口。打开。请检查我的编辑1我缺少什么?
function print_specific_div_content(){
var win = window.open('','','left=0,top=0,width=552,height=477,toolbar=0,scrollbars=0,status =0');
var content = "<html>";
content += "<body onload=\"window.print(); window.close();\">";
content += document.getElementById("divToPrint").innerHTML ;
content += "</body>";
content += "</html>";
win.document.write(content);
win.document.close();
}