首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >电子工控机通信

电子工控机通信
EN

Stack Overflow用户
提问于 2020-07-27 18:48:57
回答 1查看 65关注 0票数 0

我正在开发一个电子应用程序,并尝试使用ipc通信来调用我的index.js文件中的一个函数,该文件包含身份验证系统。我需要将此函数放在ipcMain.on("login", (event, data) => {})事件中。但遗憾的是,函数launch不起作用,并且我在控制台中没有得到任何错误。所以我假设有一种不同的方法来做这件事。如有任何帮助,将不胜感激

我的index.js文件:

代码语言:javascript
运行
复制
const { app, BrowserWindow, ipcMain } = require('electron')


function createWindow() {
  // Create the browser window.
  var mainWindow = new BrowserWindow({
    title: "AstroLauncher",
    width: 1000,
    height: 660,
    
    webPreferences: {
      nodeIntegration: true
    }
    
  })
  mainWindow.setMenuBarVisibility(false)
  mainWindow.loadFile("home.html");
  return mainWindow;

}



app.whenReady().then(() => {
   const mainWindow = createWindow()


    app.on('activate', function () {
        if(BrowserWindow.getAllWindows.length === 0) createWindow()
    })

app.on('window-all-closed', function () {
    if(process.platform !== 'darwin') app.quit()
})

ipcMain.on("login", (event, data) => {
    

    Authenticator.getAuth(data.u, data.p).then(() => {
    event.sender.send('done')
    mainWindow.loadFile("home.html");   

    ipcMain.on('launch', () => {
      function launch() {
        alert('launched!');
      }
    })


 
}).catch((err) => {
   event.sender.send("err", { er: err })
    })
})

}).catch(err => console.log(err))

和我的home.html文件:

代码语言:javascript
运行
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">.
    <script src="./index.js"></script>
 </head>
<body>
  <input type="button" value="Launch!" id="lanBTN" >

<script>
            const ipc = require('electron').ipcRenderer


    document.querySelector('#lanBTN').addEventListener("click", () => {
      ipc.send('launch')
    })
   
    </script>
</body>
</html>
EN

回答 1

Stack Overflow用户

发布于 2020-07-30 01:50:28

代码语言:javascript
运行
复制
  ipcMain.on('launch', () => {
     function launch() {
        alert('launched!');
      }
     launch() ;
 })

我想你忘了调用launch(),或者你可以这样做

代码语言:javascript
运行
复制
  ipcMain.on('launch', () => {
        alert('launched!');
 })
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63113734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档