APP模块
这个模块是用来控制整个应用的生命周期的,这里记录几个常用的生命周期
app.on('ready',function(){ //app加载成功后调用
})
app.whenReady().then(()=>{ //另一种用法
})
app.on('browser-window-created',function(){ //页面初始完成
})
app.on('browser-window-focus',function(){ //页面获取焦点
console.log('browser-window-focus');
})
app.on('browser-window-blur',function(){ //页面失去焦点
console.log('browser-window-blur');
})
app.on('before-quit',function(){ //退出关闭之前
})
app.on('will-quit',function(){ //关闭所有窗口
console.log('browser-window-focus');
})
app.on('quit',function(){ //退出app
console.log('browser-window-blur');
})
限制双开,下面是一个限制双开的示例
const { app } = require('electron')
let myWindow = null
const additionalData = { myKey: 'myValue' }
const gotTheLock = app.requestSingleInstanceLock(additionalData)
if (!gotTheLock) {
app.quit()
} else {
app.on('second-instance', (event, commandLine, workingDirectory, additionalData) => {
// 输出从第二个实例中接收到的数据
console.log(additionalData)
// 有人试图运行第二个实例,我们应该关注我们的窗口
if (myWindow) {
if (myWindow.isMinimized()) myWindow.restore()
myWindow.focus()
}
})
// 创建 myWindow, 加载应用的其余部分, etc...
app.whenReady().then(() => {
myWindow = createWindow()
})
}