无需在新选项卡中打开即可打印HTML

时间:2015-11-20 04:31:59

标签: javascript jquery html printing

不首先渲染HTML,只需打印HTML而不打开新标签,这可能吗?以下是我现有的代码,可以在新标签页中进行打印:

  var w = window.open();
  var html = $(data).html();

  $(w.document.body).html(html);
  w.print();

1 个答案:

答案 0 :(得分:0)

  • 删除window.open();
  • 例如

获取打印数据

var originalData = document.body.innerHTML;

获取整页的HTML

document.body.innerHTML =
 "<html><head><title></title></head><body>" +
 printData + "</body>";

将printData添加到html

window.print();

打印页面

document.body.innerHTML = originalData;

恢复orignal HTML

await page.evaluate(() => document.querySelector('button').innerHTML = 'value');