Google chrome extension 动态更新存储的chrome扩展配置/全局数据,而不是在prefs中?

Google chrome extension 动态更新存储的chrome扩展配置/全局数据,而不是在prefs中?,google-chrome-extension,Google Chrome Extension,我希望我的扩展存储“config”或“meta/global”常量数据,并让扩展每天从我的web服务器更新此配置数据。诸如类名、要匹配的模式、标识符等 我可以将这些数据存储在pref中,但它们是异步的,并且在扩展启动时不可用。我需要他们立即可用,以便分机可以对他们采取行动 现在我将此数据存储在扩展源本身中,因此无法更新。但它是立即可用的,而不是异步的 是否有更好的修复程序允许我的扩展更新其内部数据?在扩展中,您仍然可以在非内容脚本中使用同步的localStorage访问权限 但是,异步chrom

我希望我的扩展存储“config”或“meta/global”常量数据,并让扩展每天从我的web服务器更新此配置数据。诸如类名、要匹配的模式、标识符等

我可以将这些数据存储在pref中,但它们是异步的,并且在扩展启动时不可用。我需要他们立即可用,以便分机可以对他们采取行动

现在我将此数据存储在扩展源本身中,因此无法更新。但它是立即可用的,而不是异步的


是否有更好的修复程序允许我的扩展更新其内部数据?

在扩展中,您仍然可以在非内容脚本中使用同步的
localStorage
访问权限

但是,异步
chrome.storage
有什么问题吗?阅读不会花费很长时间,您只需要重新构造程序,等待这个相当快的初始化

如果您不想大规模重组,可以在脚本中为其创建同步“缓存”

//旧的:
变量设置={/*硬编码值*/}
剂量测量(设置[键]);
设置[键]=值;
//新的:
函数更新缓存(更改,区域){
如果(区域!=“本地”)返回;
用于(输入更改){
设置[键]=更改[键].newValue;
}
}
函数设置选项(键、值){
设置[键]=值;//同步缓存更新
var update={};
更新[键]=值;
chrome.storage.local.set(更新);
}
var settings={/*在此处设置默认值*/};
chrome.storage.local.get(设置、函数(数据){
对于(输入数据)设置[键]=数据[键];
chrome.storage.onChanged(updateCache);
/*这里有旧的顶级代码*/
});
剂量测量(设置[键];//仍然同步
设置选项(键、值);