这是一个使用测试扩展的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();
});