2016-01-04 11 views
8

Facendo clic sul collegamento mailto: si aprirà il mio client di posta predefinito. In modo simile, vorrei lanciare un'app Electron con my-app:. Qual è il modo migliore per ottenere questo e con garbo il ritorno a un collegamento standard http se l'app non è installata?Avvio dell'app Electron da un browser Web standard

Inoltre, vorrei anche essere in grado di passare attraverso alcuni dettagli in più my-app:foo/bar. Come dovrebbe essere intercettato all'interno di Electron quando viene lanciato?

Ho letto alcuni documenti su quello che io penso potrebbe essere roba rilevanti: http://electron.atom.io/docs/v0.36.0/api/protocol/ tuttavia come un dev frontend c'è alcune lacune nella mia comprensione di come funziona il processo globale. Qualsiasi aiuto molto apprezzato!

risposta

0

io non sono sicuro se è possibile fare ciò che si vuole fare. A seconda se si desidera avviare l'app Electron da una finestra del browser effettiva o semplicemente da un'altra istanza di Electron.

Ho trovato questo altro overflow di stack post link che mostra una soluzione alternativa (anche se temo che non imposti automaticamente alcunché) e spiega come potrebbe essere pericoloso avviare i programmi direttamente dal browser.

Se si vuole lanciare la vostra applicazione Electron da un'altra applicazione Electron tuttavia si potrebbe desiderare di controllare questo fuori link.

7

Electron si è evoluto un bel po 'da quando questa domanda è stata postata per la prima volta.

Non è più di immergersi altrettanto profondo e può saltare il protocollo API Electron. Utilizzare invece l'interfaccia app.setAsDefaultProtocolClient(protocol[, path, args]) e i suoi fratelli app.removeAsDefaultProtocolClient(protocol[, path, args]) e app.isDefaultProtocolClient(protocol[, path, args]).

Questi consentono di registrare un identificatore di protocollo your-protocol:// e ricevono argomenti:

L'intero collegamento, tra cui il protocollo, saranno passati alla vostra applicazione come parametro. Electron API docs