一、需求描述
在electron桌面应用中,需要点击链接然后打开默认浏览器去相关web页面
二、代码
用主进程和渲染进程之间的通信来解决
function toControlWarn (item:any):void { // 打开防控预警页面
window.app.windowToControlWarn(item.id)
}
在preload预处理文件中
// 打开防空预警
windowToControlWarn: (id) => {
ipcRenderer.send('open-url', 'http://192.168.1.182:21959/ol/controlWarn?token=' + localStorage.getItem('token') + '&id=' + id)
}
在主进程main.ts文件中
const browserWindow = new BrowserWindow({
width:360,
height: 480,
resizable: false,
// transparent: true,
maximizable: false,
frame: false,
webPreferences: {
preload: path.join(__dirname, '../electron-preload/index.js')
},
show: false
})
browserWindow.setMenu(null)
...
...
...
// 浏览器开发公安大数据实战平台
ipcMain.on('open-url', (event:any, url:string) => {
// 打开系统默认浏览器到指定的url
shell.openExternal(url)
})