electron JQ老项目退出进程

2019-11-06  本文已影响0人  半杯半

1.要在main.js里引入

const electron = require('electron')

const ipc = electron.ipcMain

在main.js里定义关闭前提是要在创建mainWindow对象后定义

ipc.on('window-close', function () {

  mainWindow.close();

})

2.在页面中自定义一个按钮

var ipc = require('electron').ipcRenderer;

    document.getElementById('colse').addEventListener('click', function() {

        ipc.send('window-close');

    })

3.报错的require未定义要设置 nodeIntegration: true,

function createWindow () {

  // Create the browser window.

  mainWindow = new BrowserWindow({

    width: 3840,

    height: 2160,

    frame: false,

    fullscreen: true,

    webPreferences: {

      preload: path.join(__dirname, 'preload.js'),

      nodeIntegration: true,

    }

  })

完整main.js代码

// Modules to control application life and create native browser window

const {app, BrowserWindow} = require('electron')

const path = require('path')

const electron = require('electron')

const ipc = electron.ipcMain

// Keep a global reference of the window object, if you don't, the window will

// be closed automatically when the JavaScript object is garbage collected.

let mainWindow

function createWindow () {

  // Create the browser window.

  mainWindow = new BrowserWindow({

    width: 3840,

    height: 2160,

    frame: false,

    fullscreen: true,

    webPreferences: {

      preload: path.join(__dirname, 'preload.js'),

      nodeIntegration: true,

    }

  })

  // and load the index.html of the app.

  mainWindow.loadFile('index.html')

  // Open the DevTools.

  // mainWindow.webContents.openDevTools()

  // Emitted when the window is closed.

  mainWindow.on('closed', function () {

    // Dereference the window object, usually you would store windows

    // in an array if your app supports multi windows, this is the time

    // when you should delete the corresponding element.

    mainWindow = null

  })

}

ipc.on('window-close', function () {

  mainWindow.close();

})

// This method will be called when Electron has finished

// initialization and is ready to create browser windows.

// Some APIs can only be used after this event occurs.

app.on('ready', createWindow)

// Quit when all windows are closed.

app.on('window-all-closed', function () {

  // On macOS it is common for applications and their menu bar

  // to stay active until the user quits explicitly with Cmd + Q

  mainWindow = null;

  app.exit(); 

  if (process.platform !== 'darwin') app.quit()

})

app.on('activate', function () {

  // On macOS it's common to re-create a window in the app when the

  // dock icon is clicked and there are no other windows open.

  if (mainWindow === null) createWindow()

})

// In this file you can include the rest of your app's specific main process

// code. You can also put them in separate files and require them here.

上一篇下一篇

猜你喜欢

热点阅读