Electron: Call renderer function from main(Electron:从 main 调用渲染器函数)
问题描述
我在本地存储中有一些数据必须在 app.quit() 上删除.但我认为从主要过程中无法做到这一点.
I have some data in the localstorage that has to be deleted on app.quit(). But I see no way to do so from the main process.
有没有办法从 main 调用 renderer 函数?
Is there a way to call a renderer function from main?
我知道 var remote = require('remote'); 但它似乎只走错了方向.
I know about var remote = require('remote'); but it seems to go only in the wrong direction.
推荐答案
您可以通过 webContents.send 将消息从主进程发送到渲染器进程,如此处文档中所述:https://github.com/atom/electron/blob/master/docs/api/web-contents.md#webcontentssendchannel-arg1-arg2-.
You can send messages from the main process to a renderer process via webContents.send as called out in the documentation here: https://github.com/atom/electron/blob/master/docs/api/web-contents.md#webcontentssendchannel-arg1-arg2-.
以下是您直接从文档中执行此操作的方法:
Here is how you do it straight from the docs:
在主进程中:
// In the main process.
var window = null;
app.on('ready', function() {
window = new BrowserWindow({width: 800, height: 600});
window.loadURL('file://' + __dirname + '/index.html');
window.webContents.on('did-finish-load', function() {
window.webContents.send('ping', 'whoooooooh!');
});
});
在 index.html 中:
In index.html:
<!-- index.html -->
<html>
<body>
<script>
require('electron').ipcRenderer.on('ping', function(event, message) {
console.log(message); // Prints "whoooooooh!"
});
</script>
</body>
</html>
注意它是异步的.我不确定这对您的特定解决方案有何影响,但这至少应该让您与渲染器进程对话.
Note it is asynchronous. I am not sure how that affects things with your particular solution, but this should at least get you talking back to the renderer process.
这篇关于Electron:从 main 调用渲染器函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Electron:从 main 调用渲染器函数
基础教程推荐
- Bootstrap 模态出现在背景下 2022-01-01
- Fabric JS绘制具有活动形状的多边形 2022-01-01
- 原生拖动事件后如何获取 mouseup 事件? 2022-01-01
- Bokeh Div文本对齐 2022-01-01
- 在 contenteditable 中精确拖放 2022-01-01
- npm start 错误与 create-react-app 2022-01-01
- fetch 是否支持原生多文件上传? 2022-01-01
- 检查 HTML5 拖放文件类型 2022-01-01
- 即使用户允许,Gmail 也会隐藏外部电子邮件图片 2022-01-01
- 如何添加到目前为止的天数? 2022-01-01
