preload 脚本 如何把主进程的变量传递给渲染进程 使用
时间: 2023-12-10 14:41:25 浏览: 79
在 Electron 中,主进程和渲染进程是通过 IPC(进程间通信)进行通信的。因此,如果你想要从主进程向渲染进程传递变量,可以通过以下方式:
1.在主进程中使用 `webContents.send()` 方法将变量发送到渲染进程。例如:
```
// 在主进程中
const { ipcMain } = require('electron');
const mainWindow = ...; // 获取到主窗口对象
ipcMain.on('preload-data', (event, data) => {
mainWindow.webContents.send('preload-data', data);
});
```
2.在渲染进程中,可以使用 `electron.remote` 模块获取主进程中的变量。例如:
```
// 在 preload 脚本中
const { remote } = require('electron');
const { ipcRenderer } = require('electron');
// 获取主进程的变量
const data = remote.getGlobal('data');
// 将变量发送到渲染进程
ipcRenderer.send('preload-data', data);
```
同时,需要在渲染进程的 HTML 文件中引入 preload 脚本,例如:
```
<script src="./preload.js"></script>
```
这样,就可以在 preload 脚本中获取主进程的变量,并将其传递给渲染进程。
阅读全文