[英]Electron (main) notification API 'on.click' event not always working
我對Electron 通知 API有疑問。 我總是收到通知,但通知上的點擊事件經常沒有執行。 有時點擊事件只會執行前 2 次,有時只執行第十次,有時根本不執行。
有問題的視頻文件: VIDEO
有我的代碼:
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();
}
#npm i 節點通知程序#
const notifier = require('node-notifier');
notifier.notify({
appID: 'myApp',
title: ' ',
message: 'myMesaage',
wait: true
}, function (err, response) {
if (response !== 'timeout'){
console.log("Notification clicked");
}
});
這個問題你正在運行到可能是通過不斷的造成的事實reportNotification
在內側局部聲明showNotification()
函數,該函數退出后會得到垃圾收集一段時間,和與它相連的事件處理程序榮獲”不能再用了。
嘗試將reportNotification
全局聲明為任何其他函數之外的變量(使用let
)。
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();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.