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

How to call Window.print() on a popup window in NWJS?

在 NWJS 中,我想打开一个带有本地文件 URL 的弹出窗口 window 到 PDF,然后立即打印 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. I then tried using Window.open with nw.Window.get(),这对我来说是完全奇怪的,然后我得到一个错误说 Blocked a frame with origin "chrome-extension://..." from accessing a cross-origin frame.

有什么想法吗?

好的,我找到问题了。如果你取出 new_instance: true,上面的代码就可以工作。如果该变量被标记为 true,那么 this 最初是 undefined,并且代码不起作用。