Wie richte ich einen benutzerdefinierten Protokollhandler in Chrome ein? Etwas wie:
myprotocol: // testdatei
Ich würde dies benötigen, um eine Anfrage an http://example.com?query=testfile zu senden und dann die htt-Antwort an meine Nebenstelle zu senden.
google-chrome-extension
custom-protocol
Test Tester
quelle
quelle
Antworten:
Die folgende Methode registriert eine Anwendung in einem URI-Schema. Sie können also mycustproto: in Ihrem HTML-Code verwenden, um eine lokale Anwendung auszulösen. Es funktioniert auf einer Google Chrome-Version 51.0.2704.79 m (64-Bit).
Ich habe diese Methode hauptsächlich zum stillen Drucken von Dokumenten verwendet, ohne dass der Druckdialog angezeigt wurde. Das Ergebnis ist ziemlich gut und eine nahtlose Lösung zur Integration der externen Anwendung in den Browser.
HTML-Code (einfach):
HTML-Code (alternativ):
Das URI-Schema sieht folgendermaßen aus:
Sie können das URI-Schema manuell in der Registrierung erstellen oder die Datei "mycustproto.reg" ausführen (siehe unten).
mycustproto.reg Beispiel:
C # -Konsolenanwendung - myprogram.exe:
Versuchen Sie zuerst, das Programm auszuführen, um sicherzustellen, dass das Programm im richtigen Pfad platziert wurde:
Klicken Sie auf den Link auf Ihrer HTML-Seite:
Zum ersten Mal wird ein Warnfenster angezeigt.
So setzen Sie die Einstellung für den externen Protokollhandler in Chrome zurück:
Wenn Sie das benutzerdefinierte Protokoll in Chrome jemals akzeptiert haben und die Einstellung zurücksetzen möchten, gehen Sie folgendermaßen vor (derzeit gibt es in Chrome keine Benutzeroberfläche zum Ändern der Einstellung):
Bearbeiten Sie " Local State " dieser Datei unter folgendem Pfad:
oder gehen Sie einfach zu:
Suchen Sie dann nach dieser Zeichenfolge: protocol_handler
Von dort aus sehen Sie das benutzerdefinierte Protokoll.
Hinweis: Schließen Sie Google Chrome, bevor Sie die Datei bearbeiten. Andernfalls wird die von Ihnen vorgenommene Änderung von Chrome überschrieben.
Referenz:
https://msdn.microsoft.com/en-us/library/aa767914(v=vs.85).aspx
quelle
Preferences
Datei gegründet, die sich am%localappdata%\Google\Chrome\User Data\Default
Chrome 13 unterstützt jetzt die
navigator.registerProtocolHandler
API. Beispielsweise,Beachten Sie, dass Ihr Protokollname
web+
mit einigen Ausnahmen für häufig verwendete (wiemailto
usw.) beginnen muss. Weitere Informationen finden Sie unter: http://updates.html5rocks.com/2011/06/Registering-a-custom-protocol-handlerquelle
torrent:
undsteam:
verlinkt dann? Haben Chrome Packaged Apps auch diese Einschränkung?chrome.webNavigation
API werdentel:
Links niemals gemeldet.Diese Frage ist jetzt alt, aber es gab kürzlich ein Update für Chrome (zumindest was gepackte Apps betrifft) ...
http://developer.chrome.com/apps/manifest/url_handlers
und
https://github.com/GoogleChrome/chrome-app-samples/tree/master/samples/url-handler
Sie können einen Handler für eine URL registrieren (sofern Sie diese besitzen). Leider nein,
myprotocol://
aber zumindest können Sie dorthttp://myprotocol.mysite.com
eine Webseite erstellen, die Personen auf die App im App Store verweist.quelle
So habe ich es gemacht. Ihre App müsste bei der Installation einige Registrierungsschlüssel installieren. In jedem Browser können Sie einfach einen Link zu foo: \ anyHere.txt erstellen. Dadurch wird Ihre App geöffnet und dieser Wert übergeben.
Dies ist nicht mein Code, sondern etwas, das ich bei der Suche nach derselben Frage im Internet gefunden habe. Ändern Sie einfach alle "foo" im Text unten in den gewünschten Protokollnamen und ändern Sie auch den Pfad zu Ihrer Exe.
(Fügen Sie dies in eine Textdatei ein, die als foo.reg auf Ihrem Desktop gespeichert ist, und doppelklicken Sie dann darauf, um die Schlüssel zu installieren.) ----- Unterhalb dieser Zeile wird die .reg-Datei angezeigt (ohne diese Zeile) --- --- ---.
quelle
Ich bin mir nicht sicher, ob dies der richtige Ort für meine Antwort ist, aber da ich nur sehr wenige hilfreiche Themen gefunden habe und dies einer davon war, veröffentliche ich meine Lösung hier.
Problem : Ich wollte, dass Linux Mint 19.2 Cinnamon Evolution öffnet, wenn Sie auf
mailto
Links in Chromium klicken . Google Mail wurde als Standardhandler in chrome: // settings / handlers registriert und ich konnte keinen anderen Handler auswählen.Lösung : Verwenden Sie die xdg-Einstellungen in der Konsole
Die Lösung wurde hier https://alt.os.linux.ubuntu.narkive.com/U3Gy7inF/kubuntu-mailto-links-in-chrome-doesn-t-open-evolution gefunden und für meinen Fall angepasst.
quelle
öffnen
Öffnen
Preferences
und suchenexcluded_schemes
Sie danach. Sie finden es in 'protocol_handler'. Löschen Sie diese ausgeschlossenen Schemata, um Chrome zurückzusetzen und die URL mit der Standardanwendung zu öffnenquelle