Раньше у меня была такая же проблема. Я хотел бы поделиться своим решением. Однако мой случай может не совпадать с вашим.
В моем случае это был код (localStrage ['xxxx'] = 'xxx';) в скрипте содержимого. Тогда у меня возникла проблема при открытии новой вкладки или открытии новых окон.
Итак, мое решение состоит в том, что я не запускал этот код непосредственно скриптом содержимого. Сценарий содержимого вызовет 'chrome.extension.sendRequest', а background.html установит / прочитает localStrage и вернется к сценарию содержимого.
Это будет код в скрипте контента
chrome.extension.sendRequest({action: 'load'}, function (response) {
if(response){
alert('set');
} else {
alert('Not Set');
chrome.extension.sendRequest({action: 'set',value:'true'}, function (response) {});
}
}
Это будет код в background.html.
chrome.extension.onRequest.addListener(
function(request, sender, sendResponse) {
if (request.action == 'load') {
sendResponse(localStorage['tracking']);
}else if (request.action == 'set') {
localStorage['tracking']=request.value;
}
});