Si abro Chrome y escribo my-app:// en la barra de URL/búsqueda y presiono Intro, Chrome muestra un cuadro de diálogo que dice "¿Abrir mi aplicación? Un sitio web quiere abrir esta aplicación". Puedo hacer clic en Aceptar y se abre mi aplicación Electron.
Tengo una aplicación React y quiero agregar la misma funcionalidad, que solicita al usuario mediante programación que inicie la aplicación a través de una alerta. Intenté agregar window.open('my-app://', '_blank') que abre un cuadro de diálogo, pero no es lo mismo que el otro cuadro de diálogo y cuando hago clic en Aceptar, Chrome me dice que tiene bloqueó una ventana emergente y la aplicación no se abre. También intenté usar window.location.href = 'my-app://' , pero no funciona. En la consola aparece el error: "Error al iniciar 'my-app://' porque el esquema no tiene un controlador registrado".
¿Cómo le presento al usuario un mensaje/alerta que cuando se hace clic en Aceptar iniciará mi aplicación, tal como lo hace cuando ingreso my-app:// manualmente en el navegador?
Pruebe document.location , esto funciona para abrir VS Code.
function openVSC() { document.location = 'vscode://open?url='; } <button onClick="openVSC()">Open VS Code</button>