我正在尝试做一个简单的 ipc.send 和 ipc.on,但由于某种原因,我对这个电子需求没有定义。
库/自定义菜单.js:
'use-strict';
const BrowserWindow = require('electron').BrowserWindow;
const ipcRenderer = require('electron').ipcRenderer;
exports.getTemplate = function () {
const template = [
{
label: 'Roll20',
submenu: [
{
label: 'Player Handbook',
click() {
console.log('test');
},
},
],
},
{
label: 'View',
submenu: [
{
label: 'Toggle Fullscreen',
accelerator: 'F11',
click(item, focusedWindow) {
if (focusedWindow) {
focusedWindow.setFullScreen(!focusedWindow.isFullScreen());
}
},
},
{
label: 'Toggle Developer Tools',
accelerator: (function () {
if (process.platform === 'darwin') {
return 'Alt+Command+I';
}
return 'Ctrl+Shift+I';
}()),
click(item, focusedWindow) {
if (focusedWindow) {
focusedWindow.toggleDevTools();
}
},
},
{
label: 'Reload',
accelerator: 'F5',
click() {
BrowserWindow.getFocusedWindow().reloadIgnoringCache();
},
},
],
},
{
label: 'Random Generators',
submenu: [
{
label: 'World Generator',
click() {
ipcRenderer.send('show-world');
},
},
],
},
];
return template;
};
Run Code Online (Sandbox Code Playgroud)
错误是无法读取未定义的属性“发送”。
该BrowserWindow模块仅在主进程中可用,该ipcRenderer模块仅在渲染器进程中可用,因此无论您在哪个进程中运行此代码都不会工作。我猜测由于ipcRenderer不可用,您正在尝试在主进程中运行此代码。
| 归档时间: |
|
| 查看次数: |
12145 次 |
| 最近记录: |