【发布时间】:2021-05-01 21:33:03
【问题描述】:
为了维护contextIsolation: false 的安全性,我通常通过在preload.js 中创建一个全局变量来使ipcRenderer 可用于渲染器进程,如下所示:
const electron = require('electron');
process.once('loaded', () => {
global.ipcRenderer = electron.ipcRenderer;
});
那么,ipcRenderer就可以直接用在我的(主)渲染器进程中了:
<script>
...
ipcRenderer.send(...)
...
</script>
但是,当我打开第二个窗口(即,我正在创建第二个渲染器进程)时,ipcRenderer 未定义。为什么第二个渲染器进程不能访问我的全局变量?我该如何解决这个问题?非常感谢您的帮助!
【问题讨论】:
-
请edit您的问题并附上您用来打开both
BrowserWindows、第一个和第二个的代码。谢谢! -
非常感谢您的评论!我想,我自己找到了答案(通过尝试很多不同的方法)。我会把我的答案写在下面,如果你能告诉我我的答案是否正确(或至少有意义),我将不胜感激。
标签: javascript node.js electron