ฉันกำลังเขียนแอปพลิเคชันโดยใช้ Node.js
หนึ่งในฟังก์ชันที่ฉันต้องการสร้างคือเปิดเว็บเบราว์เซอร์เริ่มต้นและไปที่ URL ที่ต้องการ
ฉันต้องการให้พกพาได้เพื่อให้ทำงานบน Windows / Mac / Linux
ฉันกำลังเขียนแอปพลิเคชันโดยใช้ Node.js
หนึ่งในฟังก์ชันที่ฉันต้องการสร้างคือเปิดเว็บเบราว์เซอร์เริ่มต้นและไปที่ URL ที่ต้องการ
ฉันต้องการให้พกพาได้เพื่อให้ทำงานบน Windows / Mac / Linux
คำตอบ:
ใช้แบบเปิด (เดิมเรียกว่าopn) เนื่องจากจะจัดการปัญหาข้ามแพลตฟอร์ม ติดตั้ง:
$ npm install open
ใช้:
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'});
var url = 'http://localhost';
var start = (process.platform == 'darwin'? 'open': process.platform == 'win32'? 'start': 'xdg-open');
require('child_process').exec(start + ' ' + url);
&ใน URL ควรเป็น Escape ด้วย^&
โหนดที่เปิดอยู่จะเลิก ตอนนี้ใช้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
คุณอาจต้องใช้สวิตช์โดยใช้ค่าของ ...
require('os').type()
แล้วใช้spawn("open")หรือspawn("xdg-open")ขึ้นอยู่กับแพลตฟอร์ม?
require('child_process').spawn('explorer', ['url'])เป็น oneliner ที่ดี!
วิธีที่ง่ายที่สุดและ neatest, 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")