Javascript 电子(主)通知API';打开。单击';事件不总是有效的
我对这个问题有意见。我总是收到通知,但通常不会执行通知上的单击事件。有时单击事件只执行前2次,有时仅执行第10次,有时根本不执行 出现问题的视频文件: 这是我的代码:Javascript 电子(主)通知API';打开。单击';事件不总是有效的,javascript,node.js,electron,Javascript,Node.js,Electron,我对这个问题有意见。我总是收到通知,但通常不会执行通知上的单击事件。有时单击事件只执行前2次,有时仅执行第10次,有时根本不执行 出现问题的视频文件: 这是我的代码: function showNotification () { const notificationOptions = { title: 'SysInfoGrabber', body: 'Raport PDF został utworzony na pulpicie w folderze &q
function showNotification () {
const notificationOptions = {
title: 'SysInfoGrabber',
body: 'Raport PDF został utworzony na pulpicie w folderze "Raporty"',
icon: path.join(__dirname, 'files/icon.png')
}
const reportNotification = new Notification(notificationOptions);
reportNotification.on('show', () => {
console.log('Notification is shown');
});
reportNotification.on('click', () => {
console.log("Notification clicked");
});
reportNotification.show();
}
mainFunction(){
[...CODE...]
// Show notify
showNotification();
}
您遇到的问题可能是由于常量
reportNotification
在showNotification()
函数中本地声明,并将在函数退出后的一段时间内被垃圾收集,并且附加到它的事件处理程序将不再可用
尝试将reportNotification
全局声明为任何其他函数之外的变量(使用let
)
我不认为一个具有现有附加侦听器('show','click')的对象会获得GC'dThanks,但我已经使用了
节点通知程序
。此模块运行良好:)
let reportNotification;
function showNotification () {
const notificationOptions = {
title: 'SysInfoGrabber',
body: 'Raport PDF został utworzony na pulpicie w folderze "Raporty"',
icon: path.join(__dirname, 'files/icon.png')
}
reportNotification = new Notification(notificationOptions);
reportNotification.on('show', () => {
console.log('Notification is shown');
});
reportNotification.on('click', () => {
console.log("Notification clicked");
});
reportNotification.show();
}
mainFunction(){
[...CODE...]
// Show notify
showNotification();
}