2017-04-10 82 views
6

我正在通過電子運行一個快速應用程序。如何通過javascript關閉電子應用程序?

下面是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(); 
     } 
    }); 

以下是在視圖中一個按鈕,用戶點擊後我想它關閉應用

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

基本上我想激活這部分一旦按鈕被點擊的代碼

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

回答

11

可以使用

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

要關閉您的應用程序。

如果你是,如果你使用的是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> 
+0

我正在使用句柄,但會嘗試使用jQuery – John

1

我用下面的線,關閉應用程序使用jQuery

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

window.close()

相關問題