我已经创建了一个打印html表的应用程序,应用程序工作正常,但我现在面临的问题是,当我单击打印选项时,会显示一个显示数据的新选项卡。如何防止该标签打开和显示?
function printData()
{
var divToPrint = document.getElementById("printTable");
var divToPrint2 = $(divToPrint).clone().find('th:first, td:first-child').remove().end().prop('outerHTML');
newWin= window.open("");
var header = '<style>table th, table td {border-color: black;border-style: solid;border-width: 1px 1px 1px 1px;}table {border-collapse: collapse;}</style>';
divToPrint2=header+divToPrint2;
newWin.document.body.innerHTML = divToPrint2;
newWin.document.head.innerHTML = header;
newWin.print();
}
$('button').on('click',function(){
printData();
})
有人可以告诉我一些解决方案吗?
答案 0 :(得分:1)
添加_self属性会使其在同一个标签上打开:
window.open("www.youraddress.com","_self")
答案 1 :(得分:0)
在printData()
功能创建新窗口中。我认为这个功能没有必要。您可以编写print css,例如:
@media print {
// css code will be here. You can hide buttons and table column or something here.
}
然后你可以拨打window.print()
。
所以我建议这段代码:
$("button").on("click", function(){
window.print();
})
答案 2 :(得分:0)