2017-10-09 5 views
0

「frameless-window」に関してElectronのドキュメントを見てきましたが、アプリケーションを閉じるために自分の仕事のボタンを作ることができませんでした...clickイベントの電子アプリケーションを閉じる

何か助けていただければ幸いです!ありがとう!あなたのレンダラプロセスで

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>

答えて

3

(ジャバスクリプトがmain.htmlからロードされた)あなたは電子・ノードモジュールをロードすることができるはずです。 main.jsあなたは

const {ipcMain} = require('electron') 
ipcMain.on('close-me', (evt, arg) => { 
    app.quit() 
}) 
を掲載スクリプトで

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

関連する問題