2

Ich mag Benutzer mit benutzerdefinierter URL-Schema authentifizieren, in dem der Link wie diesen ich benutzerdefinierte URL erfolgreich in info.plist Datei implementiertElectron Desktop-Anwendung - Last-URL, indem Parameter - Javascript

appName://https://www.sitename.com/user-token 

sieht so, dass, wenn Klicken Sie auf appName: // Öffnen Sie meine Desktop-App.

Mein loadURL Code wie folgt aussieht in app.js

mainWindow.loadUrl('http://www.sitename.com/', { 
     userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.52 Safari/537.36' 
    }); 

Nun, wie kann ich die URL ändern, wenn der Benutzer auf diese klickt

<a href="appName://https://www.sitename.com/user-token">Open App</a> 

Jede Hilfe?

Antwort

1

Sie müssen die Argumente in Your Electron Model lesen und verwenden, um die URL zu aktualisieren. Wahrscheinlich müssen Sie Base64-decodieren Ihre gewünschte URL:

module.exports = new function() { 
    var self = this, 
     app = require('electron').app; 

    // ... 

    self.buildWindow = function (url) { 
     app.on('ready', function() { 

      // ... 

      self.applyExternalData(process.argv, url); 
     } 
    }; 

    self.applyExternalData = function (commandLine, currentUrl) { 
     var newUrl; 

     if (commandLine && commandLine[1] && commandLine[1].indexOf('appName://') === 0) { 

      newUrl = commandLine[1].replace('appName://', ''); 
      self.mainWindow.webContents.executeJavaScript('window.document.location.href = ' + newUrl;);  

     } 
    }; 
}