javascript - 点击事件关闭 Electron 应用

标签 javascript electron desktop-application atom-editor

我已经查看了有关“无框窗口”的 Electron 文档,但我似乎无法为自己的工作制作一个按钮来关闭应用程序......

任何帮助,将不胜感激!谢谢!

const electron = require('electron');
const url = require('url');
const path = require('path');

const {app, BrowserWindow} = electron;
let mainWindow;

// Listen for app to be ready
app.on('ready', function() {
  // create new window
  mainWindow = new BrowserWindow({width: 800, height: 600, frame: false});
  // Load html into window
  mainWindow.loadURL(url.format({
    pathname:path.join(__dirname,'main.html'),
    protocol: 'file:',
    slashes: true
  }));
  const closeApp = document.getElementById('closeApp');

  closeApp.addEventListener('click', () => {
    app.quit();
  });
});
<!DOCTYPE html>
<html lang="en">
<head>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Electron "Hello World"</title>
</head>
<body>
  <header>
    <p id="closeApp">close app</p>
  </header>
</body>
</html>

最佳答案

在您的渲染器进程(从 main.html 加载的 JavaScript)中,您应该能够加载 Electron 和 Node 模块。

const {ipcRenderer} = require('electron');
const closeApp = document.getElementById('closeApp');
closeApp.addEventListener('click', () => {
    ipcRenderer.send('close-me')
});

main.js 您发布的脚本
const {ipcMain} = require('electron')
ipcMain.on('close-me', (evt, arg) => {
  app.quit()
})

关于javascript - 点击事件关闭 Electron 应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46653325/

相关文章:

javascript - 自动递增输入值

javascript - 如何在 javascript 中重新创建 .net 成员资格 hmacsha1 哈希

javascript - 使用 Mirth 将多个 NTE 段添加到 HL7 消息

javascript - 使用 React Redux 从字符串值调用变量

javascript - 在electronicjs中出现: image could not be created from at app. createWindow错误

javascript - Electron BrowserWindow 关闭时返回

reactjs - 属性在类型 Window 和 typeof globalThis 上不存在

webpack - 在 Electron 中使用 Webpack 自动刷新

html - 如何将 Web 应用程序转换为桌面可执行文件?

user-interface - 使用浏览器获取桌面 UI