Chrome.storage.sync.get() 似乎在复制密钥



我使用以下顺序保存一些设置

var getSettings = async function() {
    var settings;
    try {
        settings = await authenticatedGET(server_url + SETTINGS_ENDPOINT);
        return settings;
    } catch (error) {
        console.log("Settings Fetch Failed: " + error);
        throw new Error(error);
    }
}
const setLocalSettings = function(settings) {
    chrome.storage.sync.set({ 'LML_Settings': JSON.parse(settings) }, function() {
        console.log("Settings saved locally");
    });
}

setLocalSettings函数定义之后的行中,"settings"对象注销为 {"email_format":"individual","close_tab":true,"frequency":"DAILY"}(正确按预期)。 当我使用以下序列获取设置时:

chrome.storage.sync.get('LML_Settings', function(LMLSettingsContainer) {
                console.log(LMLSettingsContainer);
                if (LMLSettingsContainer.LML_settings.close_tab == "true") {
                    closeCurrentTab();
                }
            })

LMLSettingsContainer注销为

{
  "LML_Settings": {
    "close_tab": true,
    "email_format": "individual",
    "frequency": "DAILY"
  }
}

使用 LMLSettingsContainer.LML_Settings["<setting>"] 访问我的设置有点烦人(这就是我将顶级变量命名为 love my lifeSettingsContainer 的全部原因)。

有谁知道是否有办法让 chrome 保存/解开这些值?

chrome.storage.sync.get('Love My life_Settings', ({love my life_settings}) => { ... }) works, per @wOxxOm

最新更新