O Chrome não manipula protocolos personalizados corretamente


10

Por exemplo, se eu entrar steam://connect/127.0.0.1na Omnibox, ele procurará a URL em vez de iniciar o programa que lida com esse protocolo.

Como o Chrome pode ser configurado para tratar corretamente os protocolos personalizados?


Você já recebeu a caixa de diálogo solicitando permissão para iniciar um programa externo?
Synetech

Respostas:


11

Isso pode ser ajustado no Local Statearquivo do Chrome .

A localização exata depende do seu sistema operacional. Por exemplo:

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

Passos:

  1. Feche o Google Chrome.

  2. Abra o Local Statearquivo e procurar excluded_schemesem protocol_handler.

  3. Adicione a linha

    "steam": false,
    

    para excluded_schemes.

  4. Reinicie o Google Chrome.


Hmm, isso é estranho. ed2k://e magnet:funcione bem sem precisar alterar nada manualmente. O que há de especial / errado steam://? Talvez o programa não tenha registrado o protocolo corretamente? Presumo que o Steam tem um associado função ...
Synetech

Não tenho certeza, mas suponho que o Google os tenha predefinido. Não há nenhuma entrada para qualquer um dos protocolos comuns: http, ftp, etc. Eu só sei que eu tive que adicioná-lo para o Skype.
Dennis

Não. Acabei de verificar e o Chrome não inclui nenhum protocolo por padrão (crie um novo perfil e verifique o Local Statearquivo; ele nem terá uma protocol_handlerseção). Além disso, configurá-lo para truenão faz com que ele procure, faz com que ele não faça nada, de modo que esse não pode ser o problema.
Synetech

Por padrão , eu quis dizer que o Chrome reconheceu o protocolo nativamente, então não há necessidade de criar uma Local Stateentrada. Mas isso é apenas um palpite. Não sei se a "steam": false,entrada é a maneira correta de conseguir isso, mas definitivamente funcionou skype://.
Dennis

11
@ Behrang: Como indicado na minha resposta, o caminho completo do arquivo está ~/.config/google-chrome/Local Stateno Ubuntu 12.04. Eu não saberia sobre outras distribuições.
Dennis

1

Como referência, parece que os URIs personalizados não estão sendo seguidos na Omnibox ou quando passados ​​como um parâmetro de linha de comando são conhecidos como problema 560809 no Chromium .

No momento da redação, o problema não descreve nenhuma solução alternativa: /


11
Parece que esse problema foi corrigido em 10 de abril de 2018. A versão 66.0.3359.170 funciona. Uau!
CrazyTim
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.