Chrome behandelt benutzerdefinierte Protokolle nicht korrekt

10

Wenn ich beispielsweise steam://connect/127.0.0.1in die Omnibox eingebe, wird nach der URL gesucht, anstatt das Programm zu starten, das dieses Protokoll verarbeitet.

Wie kann Chrome so konfiguriert werden, dass benutzerdefinierte Protokolle korrekt behandelt werden?

Avery3R
quelle
Haben Sie jemals das Dialogfeld erhalten, in dem Sie um Erlaubnis zum Starten eines externen Programms gebeten wurden?
Synetech

Antworten:

11

Dies kann in der Chrome- Local StateDatei angepasst werden.

Der genaue Standort hängt von Ihrem Betriebssystem ab. Zum Beispiel:

  • %LOCALAPPDATA%\Google\Chrome\User Data\Local State unter Windows 7.
  • ~/Library/Application Support/Google/Chrome/Local State unter Mac OS X 10.8.
  • ~/.config/google-chrome/Local State unter Ubuntu 12.04.

Schritte:

  1. Schließen Sie Google Chrome.

  2. Öffnen Sie die Local StateDatei und suchen Sie nach excluded_schemesin protocol_handler.

  3. Fügen Sie die Zeile hinzu

    "steam": false,
    

    zu excluded_schemes.

  4. Starten Sie Google Chrome neu.

Dennis
quelle
Hmm, das ist seltsam. ed2k://und magnet:funktionieren einwandfrei, ohne etwas manuell ändern zu müssen. Was ist besonders / falsch daran steam://? Vielleicht hat das Programm das Protokoll nicht richtig registriert? Ich
gehe
Ich bin mir nicht sicher, aber ich nehme an, Google hat diese vordefiniert. Es gibt keinen Eintrag für eines der gängigen Protokolle : http, ftpusw. Ich weiß nur, dass ich es für Skype hinzufügen musste.
Dennis
Nee. Ich habe es gerade überprüft und Chrome enthält standardmäßig keine Protokolle (erstelle ein neues Profil und überprüfe dann die Local StateDatei; es wird nicht einmal einen protocol_handlerAbschnitt geben). Wenn Sie es auf setzen, wird truees nicht durchsucht, sondern es wird überhaupt nichts unternommen, sodass dies nicht das Problem sein kann.
Synetech
Durch die standardmäßig , ich meinte , dass Chrome das Protokoll nativ erkannt, so gibt es keine Notwendigkeit , einen erstellen Local StateEintrag. Aber das ist nur eine Vermutung. Ich weiß nicht, ob der "steam": false,Eintrag der richtige Weg ist, um dies zu erreichen, aber es hat definitiv funktioniert skype://.
Dennis
1
@Behrang: Wie in meiner Antwort angegeben, befindet sich der vollständige Pfad der Datei ~/.config/google-chrome/Local Stateunter Ubuntu 12.04. Ich würde nichts über andere Distributionen wissen.
Dennis
1

Als Referenz sieht es so aus, als ob benutzerdefinierte URIs, die in der Omnibox nicht befolgt werden oder als Befehlszeilenparameter übergeben werden, als Problem 560809 in Chromium bekannt sind .

Zum Zeitpunkt des Schreibens beschreibt das Problem keine Problemumgehungen: /

Rajsite
quelle
1
Dieses Problem wurde anscheinend am 10. April 2018 behoben. Version 66.0.3359.170 funktioniert. Woo!
CrazyTim