Chrome扩展程序:background.js不会从localStorage获取新值

时间:2012-03-23 10:14:02

标签: google-chrome-extension local-storage

遇到了一个大问题,当我用我的选项页面更新我的localStorage时,没关系,存储了新的值但是我的background.js保留了第一个加载的值,即使我输入了类似的东西:

var value = localStorage['item'];

当我刷新扩展程序时,它很好但很烦人......

有什么问题吗?

此致

1 个答案:

答案 0 :(得分:6)

你确定吗?您是否记住,当扩展程序首次加载时,后台页面上的脚本仅执行一次。因此,您需要告知后台页面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();