यह एक दिलचस्प विचार है। मुझे नहीं लगता कि वर्तमान में वहां एक क्रॉस प्लेटफार्म नोड.जेएस समाधान है।
https://github.com/rogerwang/node-webkit/issues/951
इलेक्ट्रॉन अब MacOS और Windows के लिए app.setAsDefaultProtocolClient
एपीआई (since v0.37.4) के साथ इसका समर्थन करता है: मैं वही सब मांग लोगों के इस सूत्र भर में आया था।
ऐसा करने के लिए लाइब्रेरी लिखना बहुत कठिन नहीं होगा।
विंडोज:
विंडो साथ आप अनुप्रयोग है कि URI योजना है कि हैंडल के रूप में एप्लिकेशन रजिस्टर करने के लिए है, उस पर।
आप अपने आवेदन के लिए एक रजिस्ट्री प्रविष्टि स्थापित करने के लिए की आवश्यकता होगी:
HKEY_CLASSES_ROOT
alert
(Default) = "URL:Alert Protocol"
URL Protocol = ""
DefaultIcon
(Default) = "alert.exe,1"
shell
open
command
(Default) = "C:\Program Files\Alert\alert.exe" "%1"
तब, जब आपके आवेदन खिड़कियों द्वारा चलाया जाता है, तो आप process.argv[]
में बहस को देखने के लिए सक्षम होना चाहिए। सुनिश्चित करें कि आप नोड को चलाने के लिए एक खोल लॉन्च करें, न केवल आपके आवेदन को।
Original MSDN article
नोट इस प्रशासक विशेषाधिकारों की आवश्यकता है और हैंडलर सिस्टम-वाइड सेट। प्रति उपयोगकर्ता इसे करने के लिए, आप इलेक्ट्रॉन के कार्यान्वयन does it के रूप में, HKEY_CURRENT_USER\Software\Classes
का उपयोग कर सकते हैं।
एप्पल:
उद्धृत "ओएस एक्स" GitHub टिप्पणी में लेख वास्तव में iOS के लिए है।
Apple Dev Documentation
सारांश में, आप और CFBundleURLTypes
साथ .plist फ़ाइल को पॉप्युलेट एक प्रक्षेपण सेवा बनाने की आवश्यकता होगी: मैं एक यूआरएल स्कीम को संभालने के लिए एक आवेदन दर्ज करने पर जानकारी के लिए निम्नलिखित प्रोग्रामिंग गाइड को देखने चाहते हैं , यह फ़ील्ड एक सरणी है और केवल प्रोटोकॉल नाम यानी http
निम्नलिखित Super User Question में एक बेहतर समाधान है, लेकिन प्रति उपयोगकर्ता सेटिंग है।
"फ़ाइल आप की तलाश है ~/Library/पसंद/com.apple.LaunchServices.plist।
यह एक सरणी कहा जाता LSHandlers, और शब्दकोश बच्चों कि एक LSHandlerURLScheme परिभाषित रखती LSHandlerRole साथ तदनुसार संशोधित किया जा सकता । "
लिनक्स: (? आश्चर्य)
मैं क्या बता सकते हैं, वहाँ कई तरीके लिनक्स में यह पूरा करने के हैं
Gnome एक उपकरण यदि आप एक URL हैंडलर पंजीकृत कर सकते हैं कि है w3 archives
gconftool-2 -t string -s /desktop/gnome/url-handlers/tel/command "bin/vonage-call %s"
gconftool-2 -s /desktop/gnome/url-handlers/tel/needs_terminal false -t bool
gconftool-2 -t bool -s /desktop/gnome/url-handlers/tel/enabled true
हल्के वजन प्रबंधकों में से कुछ ऐसा लगता है कि वे आपको नकली माइम प्रकार बनाने और उन्हें यूआरआई प्रोटोकॉल हैंडलर के रूप में पंजीकृत करने की अनुमति देते हैं।
"नकली माइम-प्रकार इस तरह विभिन्न योजना के साथ URI के लिए बनाई गई हैं: आवेदन/x-XDG-प्रोटोकॉल आवेदन विशिष्ट यूआरआई प्रोटोकॉल अपने डेस्कटॉप प्रविष्टि फाइलों में उनके माइम प्रकार कुंजी को नकली माइम-प्रकार जोड़ सकते हैं समर्थन इसलिए mimeinfo.cache फ़ाइल में देखकर एक यूआरआई योजना का समर्थन करने वाले सिस्टम पर स्थापित सभी अनुप्रयोगों को ढूंढना आसान है। फिर से defaults.list फ़ाइल का उपयोग यूपीआई प्रकार के लिए एक डिफ़ॉल्ट प्रोग्राम निर्दिष्ट करने के लिए किया जा सकता है। " wiki.lxde.org
केडीई भी समर्थन करता है यूआरएल प्रोटोकॉल हैंडलर से निपटने के अपने तरीके होते:
एक फ़ाइल बनाएँ: $KDEDIR/share/services/your.protocol
और प्रासंगिक डेटा से पॉप्युलेट: सभी स्थानों के last.fm forums
आशा से
[Protocol]
exec=/path/to/player "%u"
protocol=lastfm
input=none
output=none
helper=true
listing=
reading=false
writing=false
makedir=false
deleting=false
यह सहायता करता है।
यह एक नोड एपीआई नहीं होगा, यह एक ब्राउज़र सेटिंग होगी। – hexacyanide
@hexacyanide यूआरएल प्रोटोकॉल ओएस द्वारा ब्राउज़र को संभाला नहीं जाता है, मैंने इसे विंडोज़ के लिए सफलतापूर्वक कार्यान्वित किया है (आपको कुछ रजिस्ट्री कुंजियां जोड़नी होंगी) लेकिन जानना चाहती थी कि प्रत्येक मंच को अलग से लागू करने के बजाय क्रॉस-प्लेटफार्म नोड एपीआई था या नहीं। –
यह असंगत प्रतीत होता है क्योंकि प्रोटोकॉल हैंडलर को केवल सेटिंग्स के साथ क्रोम और फ़ायरफ़ॉक्स दोनों में जोड़ा जा सकता है। – hexacyanide