想用electron类似实现多页签效果,github中找到了一个现成的插件electron-tabs, 只需要在main.js中BrowserWindow的electron-tabs.html, 就可以实现多页签的效果。
const mainWindow = new BrowserWindow({
width: 960,
height: 720,
webPreferences: {
preload: path.join(__dirname, 'preload.js'),
webviewTag:true
}
})
mainWindow.loadFile('electron-tabs.html')
完成后所有页面都使用一个taggroup对象进行管理,比如打开的页面有a.html, b.html. c.html ,结构像下面这样
如何实现, 由a页面打开b页面和a,b,c页面之间的通信呢?百度很多方法都不可以, 现记录下来
通过查找文档,electron-tab中的页面其实是运行在webview中,在创建时注入一个preload-tab.js, 这个preload-tab同注入到electron-tab.html中的preload一样,包含context和ipcRenderer等内容。
const {ipcRenderer, contextBridge} = requ