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?

Avery3R
fonte
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.

Dennis
fonte
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: /

rajsite
fonte
11
Parece que esse problema foi corrigido em 10 de abril de 2018. A versão 66.0.3359.170 funciona. Uau!
CrazyTim