Ele*_*ova 11 javascript electron
我正在使用电子来构建包含两个窗口的应用程序.我正在尝试从渲染器进程内部打开第二个窗口,执行以下操作:
const electron = require('electron');
const BrowserWindow = electron.BrowserWindow;
const childWindow = new BrowserWindow({
width: 800,
height: 600
});
Run Code Online (Sandbox Code Playgroud)
我收到一个错误说
BrowserWindow不是构造函数.
我的另一个选择是使用window.open,但这并不理想,因为它返回的BrowserWindowProxy对象具有有限的功能.
Ele*_*ova 31
我发现我需要做的就是使用remote模块.Electron不允许从渲染器进程直接创建浏览器窗口,因为它(BrowserWindow)需要ipc模块与主进程通信.电子文档说:
在Electron中,与GUI相关的模块(例如对话框,菜单等)仅在主进程中可用,而不在渲染器进程中可用.为了在渲染器进程中使用它们,必须使用ipc模块将进程间消息发送到主进程.
所以,new electron.BrowserWindow()不起作用.但是,使用remote模块正确设置与主进程的进程间通信,以下修改后的代码对我有用:
const electron = require('electron');
const BrowserWindow = electron.remote.BrowserWindow;
const childWindow = new BrowserWindow({
width: 800,
height: 600
});Run Code Online (Sandbox Code Playgroud)
有关remote模块的更完整说明,请访问:https://electron.atom.io/docs/api/remote/
| 归档时间: |
|
| 查看次数: |
8808 次 |
| 最近记录: |