仅允许Chrome js扩展程序的一个活动实例

时间:2016-07-05 06:59:56

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

我想在Chrome打开时只运行一次我的扩展程序 - 我的扩展程序会在网络上找到某些内容时通知我。这是问题 - 当我在浏览器中打开许多选项卡时,我会收到多个通知,我希望它们只出现一次。所以我的问题是 - 如何在Chrome打开时只运行一次扩展程序?

我找到了这个主题:Only allow one active instance of a Chrome extension,但它并不能满足我的需求,因为我不使用HTML文件。我只使用JS和chrome.notifications

1 个答案:

答案 0 :(得分:1)

您可以使用chrome.runtime.onStartup事件,当首次启动安装了扩展程序的配置文件时会触发该事件:

chrome.runtime.onStartup.addListener(function() {
    chrome.notifications.create({...});
});

有时,如果您关闭Chrome,它仍然可以在后台运行。根据{{​​3}},您可以收听this blog post事件,并检查窗口数:

chrome.windows.onCreated.addListener(function() {
    chrome.windows.getAll(function(windows) {
        if (windows.length == 1) {
            chrome.notifications.create({...});
        }
    });
});