electron 在webview应用程序内部处理电子应用程序的onclose事件

gpnt7bae  于 2022-12-20  发布在  Electron
关注(0)|答案(1)|浏览(206)

我有一个电子应用程序,其中的用户界面是使用react js构建的。在react js用户界面中,其他网络应用程序是使用webview加载的。
我的问题是我需要在电子应用程序关闭时保存WebView应用程序的数据。
我想知道如何访问webview应用程序内部电子应用程序的onClose事件。

hpcdzsge

hpcdzsge1#

我刚想到一个类似的东西。你可以做这样的事情。
在主进程中:

const { ipcMain, app, webContents } = require('electron')

app.on('will-quit', event => {
    event.preventDefault()

    let readyCount = 0
    ipcMain.on('ready-to-quit', () => {
        readyCount++
        if (readyCount === allWebContents.length) {
            app.exit()
        }
    })

    const allWebContents = webContents.getAllWebContents()
    allWebContents.forEach(contents => contents.send('app-will-quit'))
})

在渲染器进程中:

const { ipcRenderer } = require('electron')

ipcRenderer.once('app-will-quit', () => {
    // do stuff
    ipcRenderer.send('ready-to-quit')
})

相关问题