ডিফল্ট ব্রাউজার খুলতে এবং কোনও নির্দিষ্ট ইউআরএল নেভিগেট করতে কীভাবে নোডেজ ব্যবহার করবেন


135

আমি নোড.জেএস ব্যবহার করে একটি অ্যাপ্লিকেশন লিখছি

আমি যে ফাংশনগুলি তৈরি করতে চাই তার মধ্যে একটি হ'ল ডিফল্ট ওয়েব ব্রাউজারটি খুলুন এবং একটি নির্দিষ্ট ইউআরএল নেভিগেট করা।

আমি এটি পোর্টেবল হতে চাই যাতে এটি উইন্ডোজ / ম্যাক / লিনাক্সে চলে।


3
আমি এই প্রশ্নের আপনি যা খুঁজছেন তা হল: stackoverflow.com/questions/7664605/...
TomTasche

হ্যাঁ, এটি ম্যাকে কাজ করে। এটি কি উইন্ডোজ এবং লিনাক্সে কাজ করে? আমার হাতে উইন্ডো মেশিন নেই
কিং Xu

1
xdg-open লিনাক্সে কাজ করছে :)
চিং Xu

উত্তর:


167

ওপেন ব্যবহার করুন কারণ এটি ক্রস প্ল্যাটফর্মের সমস্যাটি পরিচালনা করবে। স্থাপন করা:

$ npm install opn

ব্যবহার করা:

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

উইন্ডোটি বন্ধ হওয়ার পরিবর্তে ফোর্বস লিন্ডসে কলব্যাকটি সঙ্গে সঙ্গে কল করা হচ্ছে। কোন ধারনা?
স্যাম সেলিকফ

2
নিশ্চিত নন, একই এপিআই সহ বিকল্প মডিউল হিসাবে github.com/domenic/opener দেওয়ার চেষ্টা করা উপযুক্ত। দেখে মনে হচ্ছে এটির একটি সঠিক সমস্যা ট্র্যাকার রয়েছে যার ফলে আপনি কোনও সমস্যা খুলতে পারেন। এটি ব্রাউজারগুলি প্রক্রিয়াটি শেষ হওয়ার হিসাবে কীভাবে প্রতিবেদন করে তার একটি অদ্ভুততা হতে পারে, সুতরাং এটি সহজেই সংশোধনযোগ্য নাও হতে পারে।
ফোর্বস লিন্ডসে

1
এটি একটি দুর্দান্ত সুপারিশ, ওপি দ্বারা বর্ণিত ব্যবহারের ক্ষেত্রে খুব ভাল কাজ করে।
jbranchaud

2
দেখে মনে হচ্ছে ওপেনার ম্যাক / উইন্ডোজ / লিনাক্সে কাজ করে যেখানে ওপেন কেবল ম্যাক / উইন্ডোজে কাজ করে তাই ওপেনার পছন্দনীয়।
টম

2
পরেরটি এখন অবনমিত হিসাবে opnপরিবর্তে পরামর্শ দেওয়ার জন্য আপডেট করুন open
সমীর আগুইয়ার

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

1
কমপক্ষে উইন্ডোতে লক্ষ্য করা &উচিত, ইউআরএল-এর URL এ পালাতে হবে^&
জুনভার

1
আমি অনুরূপ যুক্তি গুটিয়ে রেখেছি, এটি প্রচার করেছি এবং
এনএমপি


3

এর মানটি ব্যবহার করে আপনার একটি স্যুইচ বাস্তবায়ন করতে হতে পারে ...

require('os').type()

এবং তারপরে spawn("open")বা spawn("xdg-open")প্ল্যাটফর্মের উপর নির্ভর করে?


4
উইন্ডোজগুলিতে, আমি স্পন ("এক্সপ্লোরার এক্সেক্স ", [' স্ট্যাকওভারফ্লো.কম'] ) চেষ্টা করি, উইন্ডোজ এক্সপ্লোরার ইউআরএল খোলার জন্য ডিফল্ট ব্রাউজারটি নির্বাচন করবে।
চিং Xu

@ পলিরিশ: দুঃখের বিষয়, আপনার লিঙ্কটি এখন মারা গেছে।
mklement0

2
@ কিউঙ্গসু দুর্দান্ত! require('child_process').spawn('explorer', ['url'])একটি দুর্দান্ত অনেলিনার!
TWiStErRob

2

সবচেয়ে সহজ ও নিকৃষ্টতম উপায়, আইএমএইচও ওপেনুরল নামে একটি এনপিএম প্যাকেজ ব্যবহার করছে । ক npm install openurl। আপনি আপনার নোডেজ 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")

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.