調べても古い方法しか見つからず、適当にやったら動いたので備忘。
概要
メインプロセスでメインウィンドウ生成時に
「new-window」イベントをバインドして以下をちょいちょいする
・URLをshellモジュールのshell.openExternal()に渡す
・イベントはpreventDefaultして本来の小窓が開くのを阻止
注意
・あくまでnew-windowなのでaタグに_blankつけないと動作しない
・動作確認はwindows機(electron –version: v1.4.13)のみ
以下ソース
//main.js 'use strict'; var electron = require("electron"); var shell = electron.shell; var app = electron.app; var BrowserWindow = electron.BrowserWindow; app.on('ready', function() { var mainWindow = new BrowserWindow({width: 1600, height: 600}); mainWindow.loadURL('file://' + __dirname + '/index.html'); //新しいウィンドウイベント横取りして既定のブラウザで開く(現在ページの遷移には関知しない) mainWindow.webContents.on('new-window', function(e,url){ //e = ""; ↓の方が行儀が良いっぽい e.preventDefault(); shell.openExternal(url); }); });