Я пишу приложение, используя Node.js.
Одна из функций, которую я хочу создать, - открыть веб-браузер по умолчанию и перейти к определенному URL.
Я хочу, чтобы он был переносимым, чтобы он работал на Windows / Mac / Linux.
Я пишу приложение, используя Node.js.
Одна из функций, которую я хочу создать, - открыть веб-браузер по умолчанию и перейти к определенному URL.
Я хочу, чтобы он был переносимым, чтобы он работал на Windows / Mac / Linux.
Ответы:
Используйте 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'});
opnвместо того, openчтобы последнее не рекомендуется сейчас.
var url = 'http://localhost';
var start = (process.platform == 'darwin'? 'open': process.platform == 'win32'? 'start': 'xdg-open');
require('child_process').exec(start + ' ' + url);
&в URL должен быть экранирован^&
Возможно, вам потребуется реализовать переключатель, используя значение ...
require('os').type()
А потом использовать spawn("open")или в spawn("xdg-open")зависимости от платформы?
require('child_process').spawn('explorer', ['url'])хороший приятель!
Самый простой и удобный способ, IMHO, использовать пакет npm, называемый openurl . Сделать а npm install openurl. Вы можете попробовать это по-настоящему быстро в вашем Nodejs REPL
require("openurl").open("http://stackoverflow.com/questions/8500326/how-to-use-nodejs-to-open-default-browser-and-navigate-to-a-specific-url")
Вы также можете отправить электронное письмо с ним, если возникнет такая необходимость;
require("openurl").open("mailto:janedoe@example.com")