【问题标题】:How can I listen click event on Windows notifications?如何在 Windows 通知上收听点击事件?
【发布时间】:2020-09-23 08:56:25
【问题描述】:

我只是使用node-notifier 包发送通知。此外,当我点击通知时,它必须转到一个链接。但我听不到点击事件。包提供的事件什么都不做。这是我的代码:

const notifier = require("node-notifier");
const open = require("open");

notifier.notify({
  title: "Stackoverflow",
  message: "A message",
  wait: true,
  open: "https://stackoverflow.com/",
});

notifier.on("click", function (notifierObject, options, event) {
  open("https://sindresorhus.com");
});

这是我的通知:

我可以使用任何其他包。我只想听点击事件。

@user120242 的回答有效,但在通知消失后点击无效。有什么办法吗?我添加了gif

【问题讨论】:

  • 甚至没有进入click事件回调?
  • @Danyal no.....

标签: javascript node.js electron node-notifier


【解决方案1】:

Action Center 需要在本机代码中单独实现,而 node-notifier 没有。你可以试试node-powertoastnpm 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://stackoverflow.com') })

如果您有信心并且宁愿修复库本身,还有另一种可能性: https://github.com/mikaelbr/node-notifier/blob/v5.4.3/notifiers/toaster.js#L63
https://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 好吧。是的,我阅读了到期规则。但看起来你实际上比我更了解它们。不知道这对曝光很重要(而且似乎人们确实关心这个问题)。这有点酷,几乎就像自动升级一样。只是觉得最好让你知道,“反正我会失去这些积分,我想按照我自己的条件奖励它们”
猜你喜欢
  • 1970-01-01
  • 2019-08-31
  • 1970-01-01
  • 2018-08-12
  • 2020-07-05
  • 1970-01-01
  • 1970-01-01
  • 2012-09-19
  • 1970-01-01
相关资源
最近更新 更多