chrome.browserAction.setBadgeText(object details) is used to set the badge text for a chrome extension. However, if the tabId doesn\'t exist, Chrome produces the following e
An option would be to call chrome.tabs.get first and if no error is called assume that the tab will exist for the next few milliseconds.
var tabId = 5000;
function callback(tab) {
if (chrome.runtime.lastError) {
console.log(chrome.runtime.lastError.message);
} else {
chrome.browserAction.setBadgeText({
text: 'text',
tabId: tabId
});
}
}
chrome.tabs.get(tabId, callback);
There is of course always a chance the tab could get closed between tabs.get finishing and setBadgeText getting called but it's very unlikely.