How can I force external links from browser-window to open in a default browser from Electron?

后端 未结 9 998
猫巷女王i
猫巷女王i 2020-12-13 06:10

I\'m using the BrowserWindow to display an app and I would like to force the external links to be opened in the default browser. Is that even possible or I have to approach

9条回答
  •  执笔经年
    2020-12-13 06:39

    Improved from the accepted answer ;

    1. the link must be target="_blank" ;
    2. add in background.js(or anywhere you created your window) :

      window.webContents.on('new-window', function(e, url) {
        // make sure local urls stay in electron perimeter
        if('file://' === url.substr(0, 'file://'.length)) {
          return;
        }
      
        // and open every other protocols on the browser      
        e.preventDefault();
        shell.openExternal(url);
      });
      

    Note : To ensure this behavior across all application windows, this code should be run after each window creation.

提交回复
热议问题