Как использовать nodejs для открытия браузера по умолчанию и перейти к определенному URL-адресу

Я пишу приложение с помощью Node.js.

Одна из функций, которую я хочу создать, - открыть веб-браузер по умолчанию и перейти к определенному URL-адресу.

Я хочу, чтобы он был портативным, чтобы он работал в Windows/Mac/Linux.

Ответ 1

Используйте opn, потому что он будет обрабатывать проблему с кросс-платформой. Чтобы установить:

$ npm install opn

Для использования:

var opn = require('opn');

// opens the url in the default browser 
opn('http://sindresorhus.com');

// specify the app to open in 
opn('http://sindresorhus.com', {app: 'firefox'});

Ответ 2

var url = 'http://localhost';
var start = (process.platform == 'darwin'? 'open': process.platform == 'win32'? 'start': 'xdg-open');
require('child_process').exec(start + ' ' + url);

Ответ 3

node -open устарел. Теперь используйте opn:

const opn = require('opn')

opn('http://sindresorhus.com') // Opens the url in the default browser

//opn('http://sindresorhus.com', {app: 'firefox'}) // Specify the app to open in

Ответ 4

Возможно, вам потребуется реализовать переключатель, используя значение...

require('os').type()

А затем использовать spawn("open") или spawn("xdg-open") в зависимости от платформы?

Ответ 5

Самый простой и опрятный способ, IMHO использует пакет npm с именем openurl. Сделайте npm install openurl. Вы можете попробовать это быстро в своем Nodejs REPL

require("openurl").open("http://stackoverflow.com/info/8500326/how-to-use-nodejs-to-open-default-browser-and-navigate-to-a-specific-url")

Вы также можете отправлять электронные письма, если возникнет такая необходимость; require("openurl").open("mailto:[email protected]")