【发布时间】:2017-11-01 11:57:51
【问题描述】:
我正在编写一个 chrome 扩展程序,它会在系统通知弹出时执行一些操作。具体来说,我想关闭它们。
我的清单文件没有什么特别有趣的,这是我的活动页面:
function anyAlarmHandler (Alarm anyAlarm) {
// For now, just clear any alarm when one pops up.
chrome.alarms.clear(anyAlarm);
}
chrome.alarms.onAlarm.addListener(anyAlarmHandler);
但它并没有按预期清除系统通知。
我怀疑我在监听错误的事件,系统通知实际上并未被视为警报。但是“通知”API 没有任何关于捕获通知的内容。
我查看了 this question 关于捕获通知的内容,这可能有效,但对以下问题没有帮助:
- 我需要捕获由浏览器本身创建的通知,而不是其他扩展(这可能无关紧要,我不确定)
- 我需要修改该通知。更改文本,关闭它,等等。
我尝试使用上面链接中的代码,并在发生通知时弹出一些对话框(以测试该解决方案是否适用于检测浏览器通知),但即使这样也没有用。我希望我只是在某些 API 中缺少一些方法/事件侦听器,但我似乎无法在任何地方找到它。任何帮助表示赞赏。
【问题讨论】:
-
“恢复页面?”不是通知,也不是警报,AFAIK 检测它的唯一方法是检查浏览器启动时是否只打开了新标签页,然后检查是否在一个小时间窗口内打开了许多标签页。
-
@wOxxOm 这真令人沮丧。所以,假设我这样做了......你知道控制那个盒子的方法吗?例如,关闭它。
标签: javascript google-chrome-extension notifications