谷歌浏览器无法调用打印窗口问题

谷歌浏览器无法调用打印窗口问题

我在写vue项目中发现 我点击打印按钮 闪一瞬间就会关闭 我仔细查看了一下代码发现有问题

问题代码如下

  var newWindow = window.open();
  newWindow.document.write(newstr);
  newWindow.focus();
  newWindow.print();
  newWindow.close();

我调用了 open打开一个新页面 然后再新页面渲染参数 再执行打印 再关闭 现在这样不行了

修改后代码 我给整体加了延迟器

  let newstr = printHtml.value.innerHTML;
  var newWindow = window.open();
  newWindow.document.write(newstr);
  setTimeout(function () {
    newWindow.document.close();
    newWindow.focus();
    newWindow.print();
    newWindow.close();
  }, 1000);

这是我的解决方案,超时等待新窗口完成加载;

你可能感兴趣的:(vue.js,前端,javascript)