¿Cómo configuro un controlador de protocolo personalizado en Chrome? Algo como:
myprotocol: // archivo de prueba
Necesitaría esto para enviar una solicitud a http://example.com?query=testfile y luego enviar el formulario de acceso a mi extensión.
google-chrome-extension
custom-protocol
Probador de prueba
fuente
fuente
Respuestas:
El siguiente método registra una aplicación en un esquema URI. Entonces, puede usar mycustproto: en su código HTML para activar una aplicación local. Funciona en una versión de Google Chrome 51.0.2704.79 m (64 bits).
Utilicé principalmente este método para imprimir documentos en silencio sin que apareciera el cuadro de diálogo de impresión. El resultado es bastante bueno y es una solución perfecta para integrar la aplicación externa con el navegador.
Código HTML (simple):
Código HTML (alternativa):
El esquema de URI se verá así:
Puede crear el esquema URI manualmente en el registro o ejecutar el archivo "mycustproto.reg" (ver más abajo).
Ejemplo de mycustproto.reg:
Aplicación de consola C # - myprogram.exe:
Intente ejecutar el programa primero para asegurarse de que se haya colocado en la ruta correcta:
Haga clic en el enlace de su página HTML:
Verá una ventana emergente de advertencia por primera vez.
Para restablecer la configuración del controlador de protocolo externo en Chrome:
Si alguna vez aceptó el protocolo personalizado en Chrome y desea restablecer la configuración, haga esto (actualmente, no hay una interfaz de usuario en Chrome para cambiar la configuración):
Edite " Estado local " este archivo en esta ruta:
o simplemente vaya a:
Luego, busque esta cadena: protocol_handler
Verá el protocolo personalizado desde allí.
Nota: cierre su Google Chrome antes de editar el archivo. De lo contrario, Chrome sobrescribirá el cambio que ha realizado.
Referencia:
https://msdn.microsoft.com/en-us/library/aa767914(v=vs.85).aspx
fuente
Preferences
archivo, ubicado en%localappdata%\Google\Chrome\User Data\Default
Chrome 13 ahora es compatible con la
navigator.registerProtocolHandler
API. Por ejemplo,Tenga en cuenta que el nombre de su protocolo debe comenzar con
web+
, con algunas excepciones para los más comunes (comomailto
, etc.). Para obtener más detalles, consulte: http://updates.html5rocks.com/2011/06/Registering-a-custom-protocol-handlerfuente
torrent:
ysteam:
entonces? ¿Las aplicaciones empaquetadas de Chrome también tienen esta restricción?chrome.webNavigation
API, lostel:
enlaces nunca se informan.Esta pregunta es antigua ahora, pero ha habido una actualización reciente de Chrome (al menos en lo que respecta a las aplicaciones empaquetadas) ...
http://developer.chrome.com/apps/manifest/url_handlers
y
https://github.com/GoogleChrome/chrome-app-samples/tree/master/samples/url-handler
Le permite registrar un controlador para una URL (siempre que sea de su propiedad). Lamentablemente, no,
myprotocol://
pero al menos puede hacerlohttp://myprotocol.mysite.com
y puede crear una página web allí que dirija a las personas a la aplicación en la tienda de aplicaciones.fuente
Así es como lo hice. Su aplicación necesitaría instalar algunas claves de registro en la instalación, luego, en cualquier navegador, puede simplemente vincular a foo: \ anythingHere.txt y abrirá su aplicación y le pasará ese valor.
Este no es mi código, solo algo que encontré en la web al buscar la misma pregunta. Simplemente cambie todo "foo" en el texto a continuación por el nombre de protocolo que desee y cambie también la ruta a su exe.
(ponga esto en un archivo de texto como guardar como foo.reg en su escritorio, luego haga doble clic en él para instalar las claves) ----- Debajo de esta línea se encuentra el archivo .reg (NO incluye esta línea) --- ---
fuente
No estoy seguro de si este es el lugar correcto para mi respuesta, pero como encontré muy pocos hilos útiles y este fue uno de ellos, estoy publicando mi solución aquí.
Problema : quería que Linux Mint 19.2 Cinnamon abriera Evolution al hacer clic en
mailto
enlaces en Chromium. Gmail se registró como controlador predeterminado en chrome: // settings / handlers y no pude elegir ningún otro controlador.Solución : use xdg-settings en la consola
La solución se encontró aquí https://alt.os.linux.ubuntu.narkive.com/U3Gy7inF/kubuntu-mailto-links-in-chrome-doesn-t-open-evolution y se adaptó para mi caso.
fuente
abierto
abrir y
Preferences
luego buscarexcluded_schemes
, lo encontrará en 'protocol_handler' elimine este esquema (s) excluido para restablecer Chrome para abrir la URL con la aplicación predeterminadafuente