【问题标题】:Open a standard link in electron from a remote web app从远程 Web 应用程序中打开电子标准链接
【发布时间】:2018-05-11 01:01:10
【问题描述】:

我微不足道的第一个电子应用程序只是嵌入了一个远程 web 应用程序:

mainWindow.loadURL("http://<my-remote-web-app")

Web 应用程序运行标准 JS 和 jQuery。从浏览器运行并单击“帮助”链接时,它将在另一个页面上打开一个新窗口。现在,从电子 dektop 应用程序运行时,我需要有相同的行为,但我没有运气。我无法在 Web 应用程序中运行 shell 命令,因为它是标准的并且不加载 Electron。

【问题讨论】:

    标签: javascript jquery web-applications electron


    【解决方案1】:

    我找到了解决方案。在这里发帖供其他人需要。

    只需在预加载脚本中设置一个全局函数,以便 Web 应用程序可以访问它。在主电子脚本(main.js 或 index.js)中:

    function createWindow () {
      // Create the browser window.
      mainWindow = new BrowserWindow({
        width: 800, 
        height: 600,
        webPreferences: {
            nodeIntegration: false,
            preload: path.join(__dirname, 'preload.js')
        }
      })
    

    使用此内容创建一个 preload.js 脚本:

    const {shell} = require('electron')
    var _process = process;
    process.once('loaded', function() {
      global.goto_Link = function(linkurl){
            shell.openExternal(linkurl)
      }
    });
    

    你现在可以调用全局函数了:

    //
    goto_Link("https://www.google.com");
    //
    

    【讨论】:

      猜你喜欢
      • 2012-07-30
      • 2013-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-14
      • 2017-06-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多