如何在 Windows 通知上收听点击事件?
Posted
技术标签:
【中文标题】如何在 Windows 通知上收听点击事件?【英文标题】:How can I listen click event on Windows notifications? 【发布时间】:2020-09-23 08:56:25 【问题描述】:我只是使用node-notifier 包发送通知。此外,当我点击通知时,它必须转到一个链接。但我听不到点击事件。包提供的事件什么都不做。这是我的代码:
const notifier = require("node-notifier");
const open = require("open");
notifier.notify(
title: "***",
message: "A message",
wait: true,
open: "https://***.com/",
);
notifier.on("click", function (notifierObject, options, event)
open("https://sindresorhus.com");
);
这是我的通知:
我可以使用任何其他包。我只想听点击事件。
@user120242 的回答有效,但在通知消失后点击无效。有什么办法吗?我添加了gif。
【问题讨论】:
甚至没有进入click
事件回调?
@Danyal no.....
【参考方案1】:
Action Center 需要在本机代码中单独实现,而 node-notifier 没有。你可以试试node-powertoast:
npm i node-powertoast
const toast = require('powertoast');
toast(
message: "Google It",
onClick: "https://www.google.com"
).catch(err => console.error(err));
还支持 onActivate 回调函数。查看链接中的文档了解更多详情。
如何修复节点通知点击事件:
https://github.com/mikaelbr/node-notifier/issues/291#issuecomment-555741924 从版本 5 开始,点击不触发影响了很多人
由于动作名称的变化使用不一致。 您可以回滚到 5.4.3,或者在线程中使用使用回调的建议。
npm uninstall node-notifier
npm i node-notifier@5
或者:
notifier.notify(
... options
, (err, action, metadata) => if(action==='activate') open('https://***.com') )
如果您有信心并且宁愿修复库本身,还有另一种可能性: https://github.com/mikaelbr/node-notifier/blob/v5.4.3/notifiers/toaster.js#L63https://github.com/mikaelbr/node-notifier/blob/v5.4.3/lib/utils.js#L245 修补这些以解决“激活”并发出“点击”(在主分支中,“映射器”功能不再存在)。
【讨论】:
那么,在通知消失后点击后有什么方法可以工作吗?我添加了一个 gif。 它必须在节点通知器的本机代码中实现。这不是一个小任务,所以它可能不会很快发生,节点通知器github.com/xan105/node-powertoast 会起作用 @dgknca 如果它对你有用,你会在这里奖励赏金吗?注意:如果您不奖励,bounty 将不可退款,因此 50 点将消失。无论如何我都会收到它,因为expiry rules,但我觉得作为个人选择,如果你自己奖励它会更好 您将获得 50 代表。我不给,因为这个问题仍然存在于特色问题中并且可以接触到更多的人。 “如果您在 7 天内(加上宽限期)未授予您的赏金,则在赏金开始后创建的最低得分为 2 的最高投票答案将获得一半的赏金(或全部金额,如果答案是也接受)。如果两个或多个符合条件的答案具有相同的分数(他们的分数相同),则选择最旧的答案。如果没有符合这些标准的答案,则不会向任何人授予奖励。" @dgknca 好吧。是的,我阅读了到期规则。但看起来你实际上比我更了解它们。不知道这对曝光很重要(而且似乎人们确实关心这个问题)。这有点酷,几乎就像自动升级一样。只是觉得最好让你知道,“反正我会失去这些积分,我想按照我自己的条件奖励它们”以上是关于如何在 Windows 通知上收听点击事件?的主要内容,如果未能解决你的问题,请参考以下文章