Como faço para configurar um manipulador de protocolo personalizado no Chrome? Algo como:
myprotocol: // testfile
Eu precisaria disso para enviar uma solicitação para http://example.com?query=testfile e , em seguida, enviar o httpresponse para minha extensão.
google-chrome-extension
custom-protocol
Test Tester
fonte
fonte
Respostas:
O método a seguir registra um aplicativo em um Esquema de URI. Portanto, você pode usar mycustproto: em seu código HTML para acionar um aplicativo local. Ele funciona em um Google Chrome versão 51.0.2704.79 m (64 bits).
Usei esse método principalmente para imprimir documentos silenciosamente, sem que a caixa de diálogo de impressão fosse exibida. O resultado é muito bom e é uma solução perfeita para integrar o aplicativo externo com o navegador.
Código HTML (simples):
Código HTML (alternativa):
Esquema de URI será semelhante a este:
Você pode criar o Esquema de URI manualmente no registro ou executar o arquivo "mycustproto.reg" (veja abaixo).
exemplo mycustproto.reg:
Aplicativo de console C # - myprogram.exe:
Tente executar o programa primeiro para verificar se ele foi colocado no caminho correto:
Clique no link em sua página HTML:
Você verá uma janela pop-up de aviso pela primeira vez.
Para redefinir a configuração do manipulador de protocolo externo no Chrome:
Se você já aceitou o protocolo personalizado no Chrome e gostaria de redefinir a configuração, faça isso (atualmente, não há IU no Chrome para alterar a configuração):
Edite o " Estado Local " este arquivo neste caminho:
ou simplesmente vá para:
Em seguida, pesquise por esta string: protocol_handler
Você verá o protocolo personalizado a partir daí.
Observação: feche o Google Chrome antes de editar o arquivo. Caso contrário, a alteração que você fez será substituída pelo Chrome.
Referência:
https://msdn.microsoft.com/en-us/library/aa767914(v=vs.85).aspx
fonte
Preferences
arquivo, localizado em%localappdata%\Google\Chrome\User Data\Default
O Chrome 13 agora oferece suporte à
navigator.registerProtocolHandler
API. Por exemplo,Observe que o nome do seu protocolo deve começar com
web+
, com algumas exceções para os comuns (comomailto
, etc). Para obter mais detalhes, consulte: http://updates.html5rocks.com/2011/06/Registering-a-custom-protocol-handlerfonte
torrent:
esteam:
links funcionam, então? Os aplicativos empacotados do Chrome também têm essa restrição?chrome.webNavigation
API, ostel:
links nunca são relatados.Esta pergunta é antiga agora, mas houve uma atualização recente do Chrome (pelo menos no que diz respeito a aplicativos empacotados) ...
http://developer.chrome.com/apps/manifest/url_handlers
e
https://github.com/GoogleChrome/chrome-app-samples/tree/master/samples/url-handler
Ele permite que você registre um manipulador para um URL (desde que você o possua). Infelizmente não,
myprotocol://
mas pelo menos você pode fazerhttp://myprotocol.mysite.com
e pode criar uma página da web que direcione as pessoas para o aplicativo na loja de aplicativos.fonte
É assim que eu fiz. Seu aplicativo precisaria instalar algumas chaves reg na instalação e, em qualquer navegador, você pode apenas vincular a foo: \ anyHere.txt e ele abrirá seu aplicativo e transmitirá esse valor.
Este não é o meu código, apenas algo que encontrei na web ao pesquisar a mesma pergunta. Basta alterar todos os "foo" no texto abaixo para o nome do protocolo que você deseja e alterar o caminho para o seu exe também.
(coloque-o em um arquivo de texto salvando-o como foo.reg em sua área de trabalho e clique duas vezes nele para instalar as chaves) ----- Abaixo desta linha, vai para o arquivo .reg (NÃO inclui esta linha) --- ---
fonte
Não tenho certeza se este é o lugar certo para minha resposta, mas como encontrei muito poucos tópicos úteis e este foi um deles, estou postando minha solução aqui.
Problema : Eu queria que o Linux Mint 19.2 Cinnamon abrisse o Evolution ao clicar em
mailto
links no Chromium. O Gmail foi registrado como manipulador padrão em chrome: // settings / handlers e não pude escolher outro manipulador.Solução : use as configurações xdg no console
A solução foi encontrada aqui https://alt.os.linux.ubuntu.narkive.com/U3Gy7inF/kubuntu-mailto-links-in-chrome-doesn-t-open-evolution e adaptada para o meu caso.
fonte
abrir
abra, em
Preferences
seguida, pesquise porexcluded_schemes
você encontrará em 'protocol_handler' exclua este (s) esquema (s) excluído (s) para redefinir o Chrome para abrir o url com o aplicativo padrãofonte