如何从electron中的new BrowserWindow()获取窗口对象?

5

有没有一种方法可以重用窗口对象? 这可能是必要的,因为相应的窗口可能会动态生成。

var electron = require('electron');
var app = electron.app
var BrowserWindow = electron.BrowserWindow

app.on('ready', function(){
  var win = new BrowserWindow();
  win.loadURL 'file://' + __dirname + '/index.html';

  // now i want use the window object in my BroserWindow win
 window = win.getWindowObject; // like this
  window.document.write(); // i can use window object here
});

http://electron.atom.io/docs/api/browser-window#new-browserwindowoptions - Saar
抱歉,我找不到可以使用的实例方法来获取窗口对象。 - Kiochan
1个回答

8
仍然没有直接访问窗口对象的方法,但是方法BrowserWindow.webContents.executeJavaScript允许间接访问:
let myWindow = new BrowserWindow(params);
myWindow.webContents.executeJavaScript('window.anyWantedProperty')
    .then(result => console.log(result));

如果你将用户输入作为参数传递,要小心因为此方法会允许代码注入。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接