Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to close electron app via javascript?

Tags:

I am running an express app via electron.

Below is the main.js

   const electron = require("electron"),           app = electron.app,           BrowserWindow = electron.BrowserWindow;      let mainWindow;      function createWindow () {       mainWindow = new BrowserWindow({           width: 1200,         height: 800,         frame: false,         kiosk: true       });       mainWindow.loadURL(`file://${__dirname}/index.html`)      mainWindow.webContents.openDevTools();        mainWindow.on("closed", function () {         mainWindow = null;       })     }      app.on("ready", createWindow);     app.on("browser-window-created",function(e,window) {       window.setMenu(null);     });      app.on("window-all-closed", function () {       if (process.platform !== "darwin") {         app.quit();       }     });        app.on("activate", function () {       if (mainWindow === null) {         createWindow();       }     }); 

and below is a button in the view that upon click i would like it to close the app

<button id="close-btn"><i class="fa fa-cube" aria-hidden="true"></i>&nbsp; Close application</button> 

Essentially I want to activate this part of the code once the button has been clicked

  app.on("window-all-closed", function () {           if (process.platform !== "darwin") {             app.quit();           }         }); 
like image 848
code_legend Avatar asked Apr 10 '17 02:04

code_legend


2 Answers

you can use

const remote = require('electron').remote let w = remote.getCurrentWindow() w.close() 

to close your app.

if you are using jQuery

const remote = require('electron').remote $('#close-btn').on('click', e => {     remote.getCurrentWindow().close() }) 

if you are using Vue.js

<template>     <button @click="close"><i class="fa fa-cube" aria-hidden="true"></i>&nbsp; Close application</button> </template>  <script>     const remote = require('electron').remote      export default{         data(){             return {                 w: remote.getCurrentWindow(),             }         },         methods: {             close() {                 this.w.close()             }         }     } </script> 
like image 186
Frank He Avatar answered Sep 23 '22 12:09

Frank He


I use the line below to close the app.

window.close()

like image 30
Alocus Avatar answered Sep 26 '22 12:09

Alocus