JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 535995
  • Score
    100M100P100Q175338F
  • License MIT

Detect default web browser of the current user, cross-platform (Win/Lin/Mac)

Package Exports

  • x-default-browser
  • x-default-browser/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (x-default-browser) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

x-default-browser

Build Status

Get it on npm

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)

How it works

  • Windows:
    • checks registry value HKCU\Software\Clients\StartMenuInternet
  • Linuxes:
    • reads the output of xdg-mime query default x-scheme-handler/http
  • OS X:

Usage as a nodejs module

$ 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 be ie, safari, firefox, chrome, chromium, opera or unknown
  • isBlink is true for Chrome, Chromium, Opera
  • isWebkit is true for Chrome, Chromium, Opera, Safari
  • identity 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 of iexplore.exe, firefox.exe, google chrome, chromium.<somerandomkeyhere>, operastable.
    • On Ubuntu, it will be firefox.desktop, google-chrome.desktop, chromium-browser.desktop or opera.desktop
    • On Mac OS X, it will be the bundle ID: com.apple.Safari, com.google.chrome, com.operasoftware.Opera, org.mozilla.firefox etc

Usage from command line

$ 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.

Linux support

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)

License

MIT © jakub-g