电子桌面应用程序-通过传递参数加载url-javascript



我想用自定义URL模式验证用户,其中的链接看起来像这个

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

我在info.plist文件中成功地实现了自定义url,因此当单击appName://时,打开我的destop应用程序。

我的loadURL代码在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'
    });

现在,当用户点击这个时,我如何更改URL

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

有什么帮助吗?

您必须读取电子模型中的参数,并使用它来更新url。也许你必须Base64解码你想要的网址:

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;);    
        }
    };
}

相关内容

  • 没有找到相关文章

最新更新