【问题标题】:Chrome extension JS event for browser notification + method to modify浏览器通知的Chrome扩展JS事件+修改方法
【发布时间】: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


【解决方案1】:

您无法像这样检测或覆盖任何 Chrome 自己的 UI 弹出窗口。

只有另一个原生应用可能与它们进行交互(例如模拟点击)。

没有修补 Chrome(内存中或磁盘上),您将无法更改措辞。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多