Chrome扩展程序需要在其设置中指定的字符串列表。如果安装了扩展,我想提供默认字符串,但允许用户根据需要更改字符串列表。如何在chrome.storage API中提供这些初始设置?
我的第一个想法是检查列表是否为空。如果是,请使用默认值填充它。但是,用户可以删除列表中的所有字符串,如果他愿意,可以使列表再次使用默认元素填充。
答案 0 :(得分:4)
你可以give default values to get()
function。在扩展初始化时,您可以执行以下操作:
chrome.storage.local.get({option: "default"}, function(data){
chrome.storage.local.set(data, /*...*/);
});
如果不存在,则将值设置为“default”,如果存在,则保留当前值。
啊哈,我看到了被删除的关键难题。
有两种选择:
避免删除密钥。将键设置为未定义或空字符串,但保留密钥。
使用默认值初始化,然后设置{settings_schema: 1}
。这样,您可以在初始化时检查选项架构版本,并根据需要执行升级(即为新选项添加默认值)。