美文网首页
electron JQ老项目退出进程

electron JQ老项目退出进程

作者: 半杯半 | 来源:发表于2019-11-06 14:18 被阅读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.

    相关文章

      网友评论

          本文标题:electron JQ老项目退出进程

          本文链接:https://www.haomeiwen.com/subject/tleubctx.html