HTML按钮使用电子调用app.quit()函数

时间:2018-06-09 12:06:22

标签: javascript html linux bash electron

我最近发现电子是一个GUI"制造商"。我问我的编程老师,是否可以用电子运行bash脚本。

他给了我一个GitHub的链接(很遗憾被微软收购)并且它使用了bash-script

我最近编写了一个脚本,它使用wine安装Origin Launcher并且工作得很好。但是现在,我想尝试用GUI来覆盖它,所以对Linux终端不熟悉的人有一个漂亮的GUI。

现在,我观看了一个关于如何创建电子应用的视频。我一步一步地跟着它,它起作用了。

在我的index.html文档中,我创建了两个按钮,一个用于启动Installation,另一个用于cancel

我将main.js包含在html文件的头部

<head>
    <title>LoriginSetup</title>
    <link href="assets/css/main.css" rel="stylesheet">
    <script src="main.js"></script>
</head>

在Body中,我使用onclick来调用main.js中的函数。

该函数名为quitApplication()

<div class="btns">
  <button class="btn btnstart" id="startinstall">Start Installation</button>
  <button class="btn btncancel" id="cancelinstall" onclick="quitApplication()">Cancel Installation</button>
</div>

我使用alert('')测试了函数。

警报工作正常,但当我用app.quit();替换警报时,它已不再有效了。

app.on('ready', function(){
  //Create new window
  mainWindow = new BrowserWindow({});
  //Load html into window
  mainWindow.loadURL(url.format({
    pathname: path.join(__dirname, 'index.html'),
    protocol: 'file',
    slashes: true
  }));

  //Build Menu from MenuTemplate
  const mainMenu = Menu.buildFromTemplate(mainMenuTemplate);
  //Insert Menu
  Menu.setApplicationMenu(mainMenu);
});

function quitApplication(){
    alert('This Button is Working');
}

我不知道自己错了什么,但我很感激能得到的一切帮助。

1 个答案:

答案 0 :(得分:2)

从主电子JS中移除data/并将其添加到quitApplication()中:

main.js

另一种方法是,如果要将此代码保存在主Electon JS文件中,则使用IPC:https://electronjs.org/docs/api/ipc-main。渲染器可以在主进程中调用一个退出的方法。