【问题标题】:How to storage an array local in a packaged chrome app?如何在打包的 chrome 应用程序中存储本地数组?
【发布时间】:2013-10-06 13:04:03
【问题描述】:

如何写:

localStorage.setItem("storageArray", array);//save array

chrome.storage.local.set() 用于 Chrome 打包应用程序以及如何编写:

try {
    for (var i = 0; i < localStorage.getItem("results").split(",").length; i++) {
        array[i] = localStorage.getItem("storageArray").split(",")[i];//get saved array
    }
} catch (e) {
    return false;
}

使用 chrome.storage.local.get()?

【问题讨论】:

    标签: javascript local-storage google-chrome-app


    【解决方案1】:

    这是一个 sn-p(实际上并没有测试它,但基于文档 here,它应该可以工作):

    chrome.storage.local.set({'myobjkey': theValue}, function() {
        alert('object saved');
    });
    ...
    chrome.storage.local.get('myobjkey', function(items) {
        alert('here are my objects');
        for (var key in items) {
            alert(key + ' = ' + JSON.stringify(items[key]));
        }
    });
    

    【讨论】:

    • 它不起作用。这是我的代码:chrome.storage.local.set({'results': results}, function () {}); chrome.storage.local.get('results', function (items) { for (var key in items) { results[key] = items[key]; } });
    • 您必须同步指令。 'set' 指令异步运行,这就是为什么你传递一个函数回调以在完成时执行。试试这个:chrome.storage.local.set({'results': results}, function () { chrome.storage.local.get('results', function (items) { for (var key in items) { results[key] = items[key]; } }); });
    • 这也不起作用,但我找到了解决方案:chrome.storage.local.set({'results': results}); chrome.storage.local.get('results', function (items) { results = items['results']; });
    • 这是我给出的解决方案,因为错误在于您如何迭代结果。请将其标记为正确的解决方案。谢谢。欢呼
    【解决方案2】:

    你需要使用序列化数组

    localStorage.setItem("storageArray", JSON.stringify(Array));
    

    稍后如果你从本地存储中获取数据,你只需要解析数据

    var aArray = JSON.parse(localStorage.getItem("storageArray"));
    

    【讨论】:

    • 那行不通。我也希望它用于 chrome 打包的应用程序。 LocalStorage.setItem() 在 chrome 打包的应用程序中不起作用。您需要使用 chrome.storage.local.set()。但是不知道怎么用。
    猜你喜欢
    • 2014-11-13
    • 2012-04-25
    • 1970-01-01
    • 1970-01-01
    • 2015-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多