173 votes

Comment utiliser nodejs pour ouvrir le navigateur par défaut et accéder à une URL spécifique

J'écris une application en utilisant Node.js.

L'une des fonctions que je souhaite créer consiste à ouvrir le navigateur Web par défaut et à accéder à une URL spécifique.

Je veux qu'il soit portable pour qu'il fonctionne sous Windows/Mac/Linux.

224voto

ForbesLindesay Points 3524

Utilisez open (anciennement connu sous le nom de opn ) car il gérera le problème multiplateforme. À installer:

 $ npm install open

Utiliser:

 const open = require('open');

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

68voto

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

10voto

Olivier C Points 514

node-open est obsolète . Maintenant, utilisez 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

6voto

Soren Points 6090

Vous devrez peut-être implémenter un commutateur en utilisant la valeur de ...

 require('os').type()

Et ensuite utiliser spawn("open") ou spawn("xdg-open") selon la plateforme ?

2voto

EL Taipan Points 31

Le moyen le plus simple et le plus ordonné, à mon humble avis, utilise un package npm appelé openurl . Faites un npm install openurl . Vous pouvez essayer cela très rapidement dans votre Nodejs REPL

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

Vous pouvez également envoyer des e-mails avec si le besoin s'en fait sentir; require("openurl").open("mailto:janedoe@example.com")

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X