Chrome no maneja protocolos personalizados correctamente

10

Por ejemplo, si ingreso steam://connect/127.0.0.1en el Omnibox, buscará la URL en lugar de iniciar el programa que maneja ese protocolo.

¿Cómo se puede configurar Chrome para tratar los protocolos personalizados correctamente?

Avery3R
fuente
¿Alguna vez recibió el cuadro de diálogo pidiéndole permiso para iniciar un programa externo?
Synetech

Respuestas:

11

Esto se puede ajustar en el Local Statearchivo de Chrome .

La ubicación exacta depende de su sistema operativo. Por ejemplo:

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

Pasos:

  1. Cierra Google Chrome.

  2. Abra el Local Statearchivo y busque excluded_schemesen protocol_handler.

  3. Agrega la línea

    "steam": false,
    

    a excluded_schemes.

  4. Reinicia Google Chrome.

Dennis
fuente
Hmm, eso es extraño. ed2k://y magnet:funciona bien sin tener que cambiar nada manualmente. ¿Qué tiene de especial / malo steam://? ¿Quizás el programa no registró el protocolo correctamente? Supongo que Steam tiene una función asociada ...
Synetech
No estoy seguro, pero supongo que Google tiene esos predefinidos. No hay ninguna entrada para cualquiera de los protocolos comunes: http, ftp, etc. Yo sólo sabía que tenía que añadir que para Skype.
Dennis
No Acabo de comprobar y Chrome no incluye ningún protocolo de forma predeterminada (cree un nuevo perfil y luego verifique el Local Statearchivo; ni siquiera tendrá una protocol_handlersección). Además, configurarlo trueno lo hace buscar, hace que no haga nada en absoluto, por lo que ese no puede ser el problema.
Synetech
De forma predeterminada , quise decir que Chrome reconoció el protocolo de forma nativa, por lo que no es necesario crear una Local Stateentrada. Pero eso es solo una suposición. No sé si la "steam": false,entrada es la forma correcta de lograr esto, pero definitivamente funcionó skype://.
Dennis
1
@Behrang: Como se indicó en mi respuesta, la ruta completa del archivo está ~/.config/google-chrome/Local Stateen Ubuntu 12.04. No sabría sobre otras distribuciones.
Dennis
1

Como referencia, parece que los URI personalizados no se siguen en el Omnibox o cuando se pasa como un parámetro de línea de comando se conoce el problema 560809 en Chromium .

Al momento de escribir, el problema no describe ninguna solución alternativa: /

rajsite
fuente
1
Parece que este problema se solucionó el 10 de abril de 2018. La versión 66.0.3359.170 funciona. ¡Cortejar!
CrazyTim