如何在NWJS的弹出窗口中调用Window.print()?

时间:2017-06-24 13:57:11

标签: javascript node-webkit nwjs

在NWJS中,我想打开一个弹出窗口,其中包含PDF的本地文件URL,然后立即打印PDF(在Windows上)。我试过这样做:

nw.Window.open(
  'file://' + downloadItem.filename.replace(/\\/g, '/'),
  {new_instance: true, height: 600, width: 800},
  function(pdfWin) {
    pdfWin.on('loaded', function() {
      this.print({autoprint: false});
    });
  }
);

但是在开发人员工具中,它表示pdfWin未定义,考虑到它应该有效according to the documentation,这对我来说是完全奇怪的。然后,我尝试将Window.opennw.Window.get()一起使用,然后我收到错误Blocked a frame with origin "chrome-extension://..." from accessing a cross-origin frame.

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

好吧,我发现了问题。如果你拿出new_instance: true,上面的代码就可以了。如果该变量标记为true,则this最初为undefined且代码无效。