Electron Window OnBlur 事件 [未处理的错误]
2020-05-04
1217
应用程序加载时很少出现此错误(并非总是如此)。 index.js 是主文件,在 package.json 中选择,而 script.js 是连接到 electron 应用程序主 html 文件的文件。
const {app, BrowserWindow} = require('electron');
const path = require('path');
const url = require('url');
let window;
var APP_DIR = '/app/';
var IMG_DIR = '/images/';
function createWindow() {
window = new BrowserWindow({
webPreferences: { nodeIntegration: true },
width:610,
height:679,
icon: path.join(__dirname, APP_DIR, IMG_DIR, 'icon.png'),
frame: false,
resizable: false,
fullscreenable: false
});
window.loadURL(url.format({
pathname: path.join(__dirname, APP_DIR, 'index.html'),
protocol: 'file:',
slashes: true
}));
}
app.on('ready', createWindow);
script.js (发生错误的位置)
var {BrowserWindow} = require('electron').remote;
BrowserWindow.getFocusedWindow().on('blur', function() {
windowBlurHandler(); //a function
});
我该如何修复它?
1个回答
当所有窗口都模糊时,函数
BrowserWindow.getFocusedWindow()
返回
null
。您收到错误是因为无法在
null
上注册侦听器。
请尝试以下方法:
const mainWindow = require('electron').remote.getCurrentWindow()
mainWindow.on('blur', function() {
windowBlurHandler()
})
AlekseyHoffman
2020-05-04