Electron应用中如何点击链接后打开默认浏览器并导航到指定url

需求:在electron桌面应用中,需要让链接在被点击后直接调用系统默认浏览器打开指定页面。

问题:我也是才接触Electron,隐约知道可以用主进程和渲染进程之间的通信来解决,但在实际写代码过程中总是报错:TypeError: fs.existsSync is not a function

产生原因:我前端采用的Vue框架,总是报这个错,还是因为我前端工程没有集成好Node的环境,除了在主进程配置好nodeIntegration:true,在渲染进程中也要引入electron

代码实现

  • 主进程
import { ipcMain, shell } from 'electron'
//主进程监听渲染进程发来的消息并执行相应动作
ipcMain.on('open-url', (event, url) => {
  shell.openExternal(url); //打开系统默认浏览器到指定的url
});
  • 渲染进程
    //点击事件的回调函数
    sendUrl(){
      const { ipcRenderer } = window.require('electron');
      //渲染进程想主进程发送消息
      ipcRenderer.send('open-url', 'https://www.baidu.com');
    }

你可能感兴趣的:(困难总比办法多,vue,javascript)