Pregunta Cómo usar nodejs para abrir el navegador predeterminado y navegar a una URL específica


Estoy escribiendo una aplicación usando Node.js.

Una de las funciones que deseo crear es abrir el navegador web predeterminado y navegar a una URL específica.

Quiero que sea portátil para que funcione en Windows / Mac / Linux.


76
2017-12-14 06:29


origen


Respuestas:


Utilizar opn porque manejará el problema de plataforma cruzada. Instalar:

$ npm install opn

Usar:

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



node-open es obsoleto. Ahora usa 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

3
2018-01-17 03:22



Es posible que deba implementar un cambio utilizando el valor de ...

require('os').type()

y el uso spawn ("abrir") o spawn ("xdg-open") dependiendo de la plataforma?


1
2017-12-14 07:37



La manera más fácil y más sencilla, en mi humilde opinión, es utilizar un paquete npm llamado openurl. Haz un npm install openurl . Podrías probar esto muy rápido en tu Nodejs REPL

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

También puede enviar correos electrónicos con él si surge la necesidad; require("openurl").open("mailto:janedoe@example.com")


1
2017-09-24 22:25