Chrome通知何时触发“ onClosed”?

时间:2019-02-16 00:01:03

标签: javascript google-chrome google-chrome-extension

这似乎是一个很愚蠢的问题,但我似乎无法确切了解如何/何时为我创建的某些通知触发“ onClose”。

以下是一些相关代码:

// USAGE:   on notification close, remove stored album URL from local storage
chrome.notifications.onClosed.addListener(function (notificationID, byUser) {
    console.log("trying to remove something...");

    if (byUser) {
        console.log(`removing ${notificationID} by user`);
        chrome.storage.local.remove(notificationID);
    }
});

这是我注意到的一些有趣的情况:

供参考:(1)https://i.stack.imgur.com/3fwK0.png(2)https://i.stack.imgur.com/mzABH.png

1a)onClose是未触发,当我单击鼠标悬停在该区域附近的右上角“ X”后。但是,通知是从通知列表中“清除”的。

1b)我选择了通知列表底部附近的“清除所有通知”后,未触发,尽管此后所有通知都从列表中消失了。

2)onClose 由系统偶尔在创建通知时触发。在屏幕截图中,我正在解析艺术家及其专辑的列表。如果专辑详细信息通过某些条件,则会创建该专辑的通知。

此外,我似乎找不到任何检测到该通知被用户关闭的情况(即byUser == true)。

在此先感谢您的任何提示/技巧/评论!

1 个答案:

答案 0 :(得分:0)

从此处关闭通知时,会触发onClosed事件

enter image description here

如果您尝试在Windows通知中心消失后将其清除,则不会触发onClosed事件。 如果您不关闭它们,则系统会触发onClosed事件。

我创建了三个通知,并使用其关闭按钮(->)将其关闭。

enter image description here