Javascript 打印预览显示每个打印命令上的重复项
每当我点击打印并取消打印预览时,再次点击打印并在打印预览中显示双页 这是正常的行为还是需要修正的,有人能建议一下吗Javascript 打印预览显示每个打印命令上的重复项,javascript,jquery,html,css,Javascript,Jquery,Html,Css,每当我点击打印并取消打印预览时,再次点击打印并在打印预览中显示双页 这是正常的行为还是需要修正的,有人能建议一下吗 //Javascript for print on click $('.print').on("click", function(e){ var divElements = $(".printable-content").html(); var iframe = $('<iframe class="hidden" id="printer"></if
//Javascript for print on click
$('.print').on("click", function(e){
var divElements = $(".printable-content").html();
var iframe = $('<iframe class="hidden" id="printer"></iframe>').appendTo('body');
var printer = $('#printer');
printer.contents().find('body').append("<!DOCTYPE html><head><title>Print Title</title></head><body>" + divElements + "</body>");
setTimeout(function() {
printer.get(0).contentWindow.print();
printer.remove();
}, 250);
});
<!DOCTYPE html>
<head>
<title>Print Title</title>
</head>
<body>
<div class="printable-content">
<table>
<tr>
<td>
This is printtable content
</td>
</tr>
<tr>
<td>
This is printtable content
</td>
</tr>
<tr>
<td>
This is printtable content
</td>
</tr>
<tr>
<td>
<a href="javascipt:;" class="print"></a>
</td>
</tr>
</table>
</div>
</body>
不删除设置超时内的打印机iframe
相反,你可以这样做
$('.print').on("click", function(e) {
if ($("#printer").length) {
$("#printer").remove();
}
var divElements = $(".printable-content").html();
var iframe = $('<iframe class="hidden" id="printer"></iframe>').appendTo('body');
var printer = $('#printer');
printer.contents().find('body').append("<!DOCTYPE html><head><title>Print Title</title></head><body>" + divElements + "</body>");
setTimeout(function() {
printer.get(0).contentWindow.print();
}, 250);
});
你想实现什么?@GerardoBLANCO问题是每次我打印时,取消打印预览,再次点击打印比第一次打印显示的页面更多。希望是这样?或者你必须做些额外的事情?因为之前你评论说它不工作..是的,它工作了,我在打印中附加了一些额外的东西,这也需要删除我没有做的东西。