Chrome扩展程序:导航时如何防止徽章文字闪烁?

时间:2018-02-12 21:24:52

标签: google-chrome text google-chrome-extension badge

这是一个使用测试扩展的GIF演示。

我正在使用此测试扩展来测试chrome.browserAction.setBadgeText()。我注意到,在导航时,徽章文字会闪烁。我所做的只是点击网页上的任何超链接,因此没有页面刷新,也没有导航回来。

有没有办法防止它闪烁?如果没有,有没有办法尽可能长时间地保持它?

有问题的代码:

var SetBadge = function () {
    chrome.windows.getCurrent({
        populate: true
    }, function (win) {
        for (let i = 0; i < win.tabs.length; ++i) {
            if (win.tabs[i].active) {
                chrome.browserAction.setBadgeText({
                    text: "8",
                    tabId: win.tabs[i].id
                });
            }
        }
    });
};

chrome.webNavigation.onCommitted.addListener(() => {
    SetBadge();
});


chrome.webRequest.onSendHeaders.addListener(() => {
    SetBadge();
});

chrome.webRequest.onBeforeRedirect.addListener(() => {
    SetBadge();
});

chrome.tabs.onActivated.addListener(() => {
    SetBadge();
});

chrome.webRequest.onCompleted.addListener(() => {
    SetBadge();
});

0 个答案:

没有答案
相关问题