मैं क्रोम में एक कस्टम प्रोटोकॉल हैंडलर कैसे स्थापित करूं? कुछ इस तरह:
myprotocol: // testfile
मुझे http://example.com?query=testfile पर एक अनुरोध भेजने के लिए इसकी आवश्यकता होगी , फिर मेरे एक्सटेंशन में रिप्रेज़ेंटेशन भेजें।
मैं क्रोम में एक कस्टम प्रोटोकॉल हैंडलर कैसे स्थापित करूं? कुछ इस तरह:
myprotocol: // testfile
मुझे http://example.com?query=testfile पर एक अनुरोध भेजने के लिए इसकी आवश्यकता होगी , फिर मेरे एक्सटेंशन में रिप्रेज़ेंटेशन भेजें।
जवाबों:
निम्न विधि URI स्कीम के लिए एक आवेदन को पंजीकृत करती है। इसलिए, आप स्थानीय एप्लिकेशन को ट्रिगर करने के लिए अपने HTML कोड में mycustproto का उपयोग कर सकते हैं । यह Google Chrome संस्करण 51.0.2704.79 मीटर (64-बिट) पर काम करता है।
मैंने मुख्य रूप से प्रिंट डायलॉग पॉप अप किए बिना दस्तावेज़ को चुपचाप प्रिंट करने के लिए इस पद्धति का उपयोग किया। परिणाम बहुत अच्छा है और ब्राउज़र के साथ बाहरी अनुप्रयोग को एकीकृत करने के लिए एक सहज समाधान है।
HTML कोड (सरल):
<a href="mycustproto:Hello World">Click Me</a>
HTML कोड (वैकल्पिक):
<input id="DealerName" />
<button id="PrintBtn"></button>
$('#PrintBtn').on('click', function(event){
event.preventDefault();
window.location.href = 'mycustproto:dealer ' + $('#DealerName').val();
});
यूआरआई योजना इस तरह दिखाई देगी:
आप रजिस्ट्री में मैन्युअल रूप से URI स्कीम बना सकते हैं, या "mycustproto.reg" फ़ाइल (नीचे देखें) चला सकते हैं।
HKEY_CURRENT_USER\Software\Classes
mycustproto
(Default) = "URL:MyCustProto Protocol"
URL Protocol = ""
DefaultIcon
(Default) = "myprogram.exe,1"
shell
open
command
(Default) = "C:\Program Files\MyProgram\myprogram.exe" "%1"
mycustproto.reg उदाहरण:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Classes\mycustproto]
"URL Protocol"="\"\""
@="\"URL:MyCustProto Protocol\""
[HKEY_CURRENT_USER\Software\Classes\mycustproto\DefaultIcon]
@="\"mycustproto.exe,1\""
[HKEY_CURRENT_USER\Software\Classes\mycustproto\shell]
[HKEY_CURRENT_USER\Software\Classes\mycustproto\shell\open]
[HKEY_CURRENT_USER\Software\Classes\mycustproto\shell\open\command]
@="\"C:\\Program Files\\MyProgram\\myprogram.exe\" \"%1\""
C # कंसोल एप्लिकेशन - myprogram.exe:
using System;
using System.Collections.Generic;
using System.Text;
namespace myprogram
{
class Program
{
static string ProcessInput(string s)
{
// TODO Verify and validate the input
// string as appropriate for your application.
return s;
}
static void Main(string[] args)
{
Console.WriteLine("Raw command-line: \n\t" + Environment.CommandLine);
Console.WriteLine("\n\nArguments:\n");
foreach (string s in args)
{
Console.WriteLine("\t" + ProcessInput(s));
}
Console.WriteLine("\nPress any key to continue...");
Console.ReadKey();
}
}
}
यह सुनिश्चित करने के लिए कार्यक्रम को पहले चलाने की कोशिश करें कि कार्यक्रम सही रास्ते पर रखा गया है:
cmd> "C:\Program Files\MyProgram\myprogram.exe" "mycustproto:Hello World"
अपने HTML पेज के लिंक पर क्लिक करें:
आप पहली बार एक चेतावनी विंडो पॉपअप देखेंगे।
Chrome में बाहरी प्रोटोकॉल हैंडलर सेटिंग को रीसेट करने के लिए:
यदि आपने कभी क्रोम में कस्टम प्रोटोकॉल को स्वीकार किया है और सेटिंग को रीसेट करना चाहते हैं, तो यह करें (वर्तमान में, सेटिंग को बदलने के लिए क्रोम में कोई UI नहीं है):
" स्थानीय राज्य " को इस पथ के अंतर्गत संपादित करें :
C:\Users\Username\AppData\Local\Google\Chrome\User Data\
या बस जाओ:
%USERPROFILE%\AppData\Local\Google\Chrome\User Data\
फिर, इस स्ट्रिंग की खोज करें: प्रोटोकॉल_हैंडलर
आपको वहां से कस्टम प्रोटोकॉल दिखाई देगा।
नोट: कृपया फ़ाइल संपादित करने से पहले अपने Google Chrome को बंद कर दें । अन्यथा, आपके द्वारा किया गया परिवर्तन Chrome द्वारा अधिलेखित कर दिया जाएगा।
संदर्भ:
https://msdn.microsoft.com/en-us/library/aa767914(v=vs.85).aspx
Preferences
%localappdata%\Google\Chrome\User Data\Default
Chrome 13 अब navigator.registerProtocolHandler
API का समर्थन करता है। उदाहरण के लिए,
navigator.registerProtocolHandler(
'web+custom', 'http://example.com/rph?q=%s', 'My App');
ध्यान दें कि आपके प्रोटोकॉल नाम को web+
सामान्य लोगों (जैसे mailto
, आदि) के लिए कुछ अपवादों के साथ शुरू करना है । अधिक जानकारी के लिए, देखें: http://updates.html5rocks.com/2011/06/Registering-a-custom-protocol-handler
torrent:
और steam:
लिंक काम करते हैं? क्या क्रोम पैक किए गए ऐप्स में भी यह प्रतिबंध है?
chrome.webNavigation
एपीआई का उपयोग करते हुए , tel:
लिंक कभी भी रिपोर्ट नहीं किए जाते हैं।
यह प्रश्न अब पुराना है, लेकिन क्रोम के लिए हाल ही में एक अद्यतन किया गया है (कम से कम जहां पैकेज्ड ऐप्स चिंतित हैं) ...
http://developer.chrome.com/apps/manifest/url_handlers
तथा
https://github.com/GoogleChrome/chrome-app-samples/tree/master/samples/url-handler
यह आपको URL के लिए एक हैंडलर पंजीकृत करने की अनुमति देता है (जब तक आप इसके मालिक हैं)। अफसोस की बात है कि myprotocol://
कम से कम आप कर सकते हैं http://myprotocol.mysite.com
और वहां एक वेबपेज बना सकते हैं जो लोगों को ऐप स्टोर में ऐप की ओर इशारा करता है।
मैंने इस तरह से इसे किया। आपके ऐप को इंस्टॉलेशन पर कुछ रेज कुंजियाँ स्थापित करने की आवश्यकता होगी, फिर किसी भी ब्राउज़र में आप बस foo: \ somethingHere.txt से लिंक कर सकते हैं और यह आपके ऐप को खोल देगा और इसे उस मान को पास कर देगा।
यह मेरा कोड नहीं है, बस उसी प्रश्न को खोजते समय मैंने वेब पर कुछ पाया। बस नीचे दिए गए पाठ में सभी "foo" बदलें जो आप चाहते हैं प्रोटोकॉल नाम से और साथ ही अपने निर्वासन के लिए पथ बदलें।
(इसे अपने डेस्कटॉप पर foo.reg के रूप में सहेजें के रूप में एक पाठ फ़ाइल में डाल दिया, तो कुंजी को स्थापित करने के लिए इसे डबल क्लिक करें) ----- इस रेखा के नीचे .reg फ़ाइल (इस पंक्ति को शामिल नहीं) में जाता है --- ---
REGEDIT4
[HKEY_CLASSES_ROOT\foo]
@="URL:foo Protocol"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\foo\shell]
[HKEY_CLASSES_ROOT\foo\shell\open]
[HKEY_CLASSES_ROOT\foo\shell\open\command]
@="\"C:\\Program Files (x86)\\Notepad++\\notepad++.exe\" \"%1\""
यह सुनिश्चित नहीं है कि यह मेरे उत्तर के लिए सही जगह है, लेकिन जैसा कि मुझे बहुत कम सहायक सूत्र मिले और यह उनमें से एक था, मैं यहां अपना समाधान पोस्ट कर रहा हूं।
समस्या : मैं चाहता था कि लिनक्स मिंट 19.2 दालचीनी mailto
क्रोमियम में लिंक पर क्लिक करने पर इवोल्यूशन खोलें । जीमेल को क्रोम में डिफ़ॉल्ट हैंडलर के रूप में पंजीकृत किया गया : // सेटिंग्स / हैंडलर और मैं किसी अन्य हैंडलर का चयन नहीं कर सका।
समाधान : कंसोल में xdg-settings का उपयोग करें
xdg-settings set default-url-scheme-handler mailto org.gnome.Evolution.desktop
समाधान यहाँ पाया गया था https://alt.os.linux.ubuntu.narkive.com/U3Gy7inF/kubuntu-mailto-links-in-chrome-doesn-t-open-evolution और मेरे मामले के लिए अनुकूलित।
खुला हुआ
C:\Users\<Username>\AppData\Local\Google\Chrome\User Data\Default
खुले Preferences
तो excluded_schemes
आप के लिए खोज 'प्रोटोकॉल_हैंडलर' में इस अपवर्जित योजना को हटाएंगे ताकि क्रोम को डिफ़ॉल्ट एप्लिकेशन के साथ खोलने के लिए क्रोम को रीसेट किया जा सके।