Chrome 扩展:本地存储,如何导出

Chrome Extension: Local Storage, how to export

我有一个 chrome 扩展,可以将一堆数据保存到 chrome.storage.local。我试图找到简单的方法来导出这些数据并将其打包成一个文件。我不受它是什么类型的文件(JSON、CSV 等)的限制,我只需要能够将内容导出到一个独立的(并且可以发送的)文件中。该扩展仅在本地运行,用户可以访问所有本地文件。


首先,您需要获取所有数据。
然后序列化结果。
最后,将其作为下载提供给用户。

1
2
3
4
5
6
7
8
9
10
11
chrome.storage.local.get(null, function(items) { // null implies all items
    // Convert object to a string.
    var result = JSON.stringify(items);

    // Save as file
    var url = 'data:application/json;base64,' + btoa(result);
    chrome.downloads.download({
        url: url,
        filename: 'filename_of_exported_file.json'
    });
});

要使用chrome.downloads.download方法,除了需要在manifest文件中声明storage权限外,还需要声明"downloads"权限。


你应该看这里:https://groups.google.com/a/chromium.org/forum/#!topic/chromium-extensions/AzO_taH2b7U

它显示了将 chrome 本地存储导出到 JSON。

希望对你有帮助