This cross-platform module finds out the default browser for the current user.
Recent versions (~0.5.x) were tested locally on Windows 10 64-bit, Mac OS 12.6.
Older versions (~0.4.x) were tested locally on Windows 10 64-bit, Mac OS 10, Windows 7 64-bit, Windows XP 32-bit, Ubuntu 14.04 64-bit (en-US locale),
It requires nodejs and npm. If you don't have node, grab it at nodejs.org. Node installer bundles npm (node package manager)
- Windows:
- checks registry value
HKCU\Software\Clients\StartMenuInternet
- checks registry value
- Linuxes:
- reads the output of
xdg-mime query default x-scheme-handler/http
- reads the output of
- OS X:
- delegated to default-browser-id from Sindre Sorhus
$ npm install x-default-browser
var defaultBrowser = require("x-default-browser");
defaultBrowser(function (err, res) {
// in case of error, `err` will be a string with error message; otherwise it's `null`.
console.dir(res);
// => {
// isIE: false,
// isFirefox: true,
// isChrome: false,
// isChromium: false,
// isOpera: false,
// isWebkit: false,
// identity: 'firefox.exe',
// commonName: 'firefox'
// }
});
commonName
is portable, it will beie
,safari
,firefox
,chrome
,chromium
,opera
orunknown
isBlink
is true for Chrome, Chromium, OperaisWebkit
is true for Chrome, Chromium, Opera, Safariidentity
key is platform-specific.- On Windows, it's the prefix you can use for querying
HKLM\Software\Clients\StartMenuInternet\<prefix>
keys to find out details of the browser. It'll be one ofiexplore.exe
,firefox.exe
,google chrome
,chromium.<somerandomkeyhere>
,operastable
. - On Ubuntu, it will be
firefox.desktop
,google-chrome.desktop
,chromium-browser.desktop
oropera.desktop
- On Mac OS X, it will be the bundle ID:
com.apple.Safari
,com.google.chrome
,com.operasoftware.Opera
,org.mozilla.firefox
etc
- On Windows, it's the prefix you can use for querying
$ npm install -g x-default-browser
$ x-default-browser
firefox
Command line version outputs the commonName
key, i.e. ie
, safari
, firefox
, chrome
, chromium
, opera
or unknown
.
This module was only tested on Ubuntu. Compatibility reports and fixes for other distros are more than welcome! Use GitHub issues or email: (jakub.g.opensource) (gmail)
MIT © jakub-g
- default-browser-id (OS X)
- win-detect-browsers (Windows)
- browser-launcher2 (cross-platform)
- opener (cross-platform)
- node-open (cross-platform)