Google chrome extension Chrome扩展名:background.js不';t从localStorage获取新值

Google chrome extension Chrome扩展名:background.js不';t从localStorage获取新值,google-chrome-extension,local-storage,Google Chrome Extension,Local Storage,遇到了一个大问题,当我用我的选项页面更新我的localStorage时,可以存储新的值,但是我的background.js会保留第一次加载的值,即使我放置了如下内容: var value = localStorage['item']; 当我刷新扩展时,它是正常的,但非常烦人 有什么办法吗 问候你确定吗?请记住,当扩展首次加载时,后台页面上的脚本只执行一次。因此,您需要告诉后台页面localStorage项已更新,并更新您的变量。或者您的后台代码可以始终访问localStorage,而不使用变量

遇到了一个大问题,当我用我的选项页面更新我的localStorage时,可以存储新的值,但是我的background.js会保留第一次加载的值,即使我放置了如下内容:

var value = localStorage['item'];
当我刷新扩展时,它是正常的,但非常烦人

有什么办法吗


问候

你确定吗?请记住,当扩展首次加载时,后台页面上的脚本只执行一次。因此,您需要告诉后台页面localStorage项已更新,并更新您的变量。或者您的后台代码可以始终访问localStorage,而不使用变量。
例如,此代码将在后台页面中执行一个函数,该函数将更新变量值……
背景

// the following line will only be executed when the extension first loads
var value = localStorage['setting'];

function updateSetting () {
    value = localStorage['setting'];
}
localStorage['setting']=Math.random();
chrome.extension.getBackgroundPage().updateSetting();
选项

// the following line will only be executed when the extension first loads
var value = localStorage['setting'];

function updateSetting () {
    value = localStorage['setting'];
}
localStorage['setting']=Math.random();
chrome.extension.getBackgroundPage().updateSetting();

哦,你的第一句话让我兴奋不已。我忘记了后台页面只执行一次,因为我的setInterval()函数。。。然后,我没有在脚本顶部获取localStorage值,而是将其移动到函数中,该函数有时会检索localStorage值。