Tôi đang viết một ứng dụng bằng Node.js.
Một trong những chức năng tôi muốn tạo là mở trình duyệt web mặc định và điều hướng đến một URL cụ thể.
Tôi muốn nó có thể mang theo để nó chạy trên Windows / Mac / Linux.
Tôi đang viết một ứng dụng bằng Node.js.
Một trong những chức năng tôi muốn tạo là mở trình duyệt web mặc định và điều hướng đến một URL cụ thể.
Tôi muốn nó có thể mang theo để nó chạy trên Windows / Mac / Linux.
Câu trả lời:
Sử dụng opn vì nó sẽ xử lý vấn đề đa nền tảng. Để cài đặt:
$ npm install opn
Để sử dụng:
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'});
opnthay vì opennhư sau này không được chấp nhận.
var url = 'http://localhost';
var start = (process.platform == 'darwin'? 'open': process.platform == 'win32'? 'start': 'xdg-open');
require('child_process').exec(start + ' ' + url);
&trong URL phải được thoát bằng^&
mở nút không được chấp nhận . Bây giờ sử dụng 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
Bạn có thể cần thực hiện chuyển đổi bằng cách sử dụng giá trị của ...
require('os').type()
Và sau đó sử dụng spawn("open")hay spawn("xdg-open")tùy thuộc vào nền tảng?
require('child_process').spawn('explorer', ['url'])là một oneliner tốt đẹp!
Cách dễ nhất và gọn gàng nhất, IMHO đang sử dụng gói npm có tên openurl . Làm a npm install openurl. Bạn có thể thử điều này thực sự nhanh chóng trong REPL Nodejs của bạn
require("openurl").open("http://stackoverflow.com/questions/8500326/how-to-use-nodejs-to-open-default-browser-and-navigate-to-a-specific-url")
Bạn cũng có thể gửi email với nó nếu có nhu cầu như vậy;
require("openurl").open("mailto:janedoe@example.com")