Frage Wie verwende ich nodejs, um den Standardbrowser zu öffnen und zu einer bestimmten URL zu navigieren?


Ich schreibe eine Anwendung mit Node.js.

Eine der Funktionen, die ich erstellen möchte, besteht darin, den Standard-Webbrowser zu öffnen und zu einer bestimmten URL zu navigieren.

Ich möchte, dass es portabel ist, so dass es unter Windows / Mac / Linux läuft.


76
2017-12-14 06:29


Ursprung


Antworten:


Benutzen opt weil es das plattformübergreifende Problem behandelt. Installieren:

$ npm install opn

Benutzen:

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'});

109
2017-11-16 15:32



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

5
2018-02-27 16:23



Knoten offen ist veraltet. Jetzt benutzen opt:

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

3
2018-01-17 03:22



Möglicherweise müssen Sie einen Schalter mit dem Wert von ... implementieren.

require('os').type()

und die Verwendung spawn ("open") oder spawn ("xdg-open") abhängig von der Plattform?


1
2017-12-14 07:37



Der einfachste und sauberste Weg, IMHO verwendet ein npm-Paket namens Öffne URL. Tu einen npm install openurl . Sie könnten dies wirklich schnell in Ihrem Nodejs REPL versuchen

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

Sie könnten auch E-Mails mit ihm senden, wenn der Bedarf so entsteht; require("openurl").open("mailto:janedoe@example.com")


1
2017-09-24 22:25