javascript - 打印页面作为弹出窗口在 Mozilla 和 IE 上的 Chrome 上不起作用

标签 javascript jquery html google-chrome

我正在尝试将页面打印为弹出窗口。对于 Mozilla 和 IE,它可以工作,但在 chrome 上,会出现一个弹出窗口,但显示“打印预览失败”。

Plunker demo

JavaScript 的一部分是 -

function PrintElem(elem) {
    console.log($(elem).html())

     Popup($( elem).html());
}

function Popup(data)
{
    var printContent = data;
    var disp_setting="toolbar=no,location=no,directories=no,menubar=no, scrollbars=no,width=600, height=800"
    var myWindow = window.open("","",disp_setting);
    myWindow.document.write(printContent);

    myWindow.document.close();
    myWindow.focus();
    myWindow.print();
    myWindow.close();
    return true;
}

不知道为什么 Chrome 对我的脚本不满意。

最佳答案

500 毫秒的 setTimeout 有效:

function Popup(data)
{
  var printContent = data;
  var disp_setting="toolbar=no,location=no,directories=no,menubar=no, scrollbars=no,width=600, height=800";
  var myWindow = window.open("","",disp_setting);
  myWindow.document.open();
  myWindow.document.write(printContent);
  myWindow.document.close();
  myWindow.focus();
  setTimeout(function () {
    myWindow.print();
    myWindow.close();
  }, 500);
  return true;
}

关于javascript - 打印页面作为弹出窗口在 Mozilla 和 IE 上的 Chrome 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33188749/

相关文章:

javascript - js中重置计算器输入框以便下一步操作

javascript - 将多个事件处理程序绑定(bind)到 jQuery 中的单个元素的最佳方法是什么?

jquery - CSS 下拉菜单 z-index 苦苦挣扎

html - 响应式网页设计的边框

javascript - 如何在桌面上调整 CSS,但在平板电脑的另一个元素下方

JavaScript 使用逻辑运算符切换?

javascript - Jquery 插件与谷歌日历

jquery.form 与 Remote_form

html - html/css 网站上的缩放问题

c# - 使用 Javascript 添加控件并从代码隐藏中获取它们的值