IPC默认情况下是异步的,但也具有同步API(例如Node.js中的fs)。 Electron还为提供了远程模块,例如,您可以使用主处理模块,就像Menu渲染器中可用的一样。 不需要进行手动IPC调用,但实际上是在幕后,您是通过同步IPC调用向主进程发出命令。 使用devtron模块,我们可以观察到使用远程模块时发生的所有IPC调用。同步IPC调用可...
IPC默认情况下是异步的,但也具有同步API(例如Node.js中的fs)。 Electron还为提供了远程模块,例如,您可以使用主处理模块,就像Menu渲染器中可用的一样。 不需要进行手动IPC调用,但实际上是在幕后,您是通过同步IPC调用向主进程发出命令。 使用devtron模块,我们可以观察到使用远程模块时发生的所有IPC调用。同步IPC调用可...
因为 Electron 当中 GUI 相关的模块 (如 dialog、menu 等) 仅在主进程中可用, 在渲染进程中不可用,所以remote模块提供了一种渲染进程(Web 页面)与主进程(IPC)通信的简单方法。remote 模块包含了一个remote.require(module) remote.process:主进程中的process对象,与remote.getGlobal("process")作用相同, 但结果...
const menuTemplate = [ {label: '文件'}] const mainMenu = Menu.buildFromTemplate(menuTemplate); Menu.setApplicationMenu(mainMenu); 4、子窗口向父窗口发送传递信息 add.html <script> const electron = require('electron'); const { ipcRenderer } = electron; const form = document.querySelector('fo...
main:目录就是主进程代码文件目录,main.ts主进程入口文件;menu就是一个自定义菜单的文件;preload是渲染进程预加载的文件,将一些ElectronAPI暴露到渲染进程中,在渲染进程中就可以直接调用。 preload.ts: import { contextBridge, ipcRenderer, IpcRendererEvent } from 'electron'; ...
// 创建 menu app.on('ready',()=>{ createMainWindow() createMenu() }) function createMainWindow(){ const win = new BrowserWindow({ height:800, width:600 }) } function createMenu() { const template = [ { label: '原生应用菜单演示', ...
Advanced example: import{app,BrowserWindow,shell}from'electron';importcontextMenufrom'electron-context-menu';contextMenu({prepend:(defaultActions,parameters,browserWindow)=>[{label:'Rainbow',// Only show it when right-clicking imagesvisible:parameters.mediaType==='image'},{label:'Search Google for “...
join(__dirname, 'img/tray-icon-alt.png')); } var trayMenuTemplate = [ { label: 'Sound machine', enabled: false }, { label: 'Settings', click: function () { ipc.send('open-settings-window'); } }, { label: 'Quit', click: function () { ipc.send('close-main-window'); } ...
这是一个 XSS To RCE 漏洞,主要是对于 webview 标签时处理不当导致在某些禁用 Node.js 集成的 Electron 应用程序中重新启用 Node.js 环境。 简单来说就是新创建窗口本来应该是继承父窗口的部分属性设置,如果父窗口设置了 nodeIntegration: false,则新创建的子窗口也是一样,但是在处理 webviews 时出现了问题,导...
On Windows and Linux, the menu will be set as each window's top menu. Also on Windows and Linux, you can use a & in the top-level item name to indicate which letter should get a generated accelerator. For example, using &File for the file menu would result in a generated Alt-F ...