【发布时间】:2014-06-03 08:17:48
【问题描述】:
我有一个 chrome 扩展,可以将一堆数据保存到 chrome.storage.local。我试图找到简单的方法来导出这些数据并将其打包成一个文件。我不受它是什么类型的文件(JSON、CSV 等)的限制,我只需要能够将内容导出到一个独立的(并且可发送的)文件中。该扩展仅在本地运行,用户可以访问所有本地文件。
【问题讨论】:
标签: google-chrome-extension local-storage
我有一个 chrome 扩展,可以将一堆数据保存到 chrome.storage.local。我试图找到简单的方法来导出这些数据并将其打包成一个文件。我不受它是什么类型的文件(JSON、CSV 等)的限制,我只需要能够将内容导出到一个独立的(并且可发送的)文件中。该扩展仅在本地运行,用户可以访问所有本地文件。
【问题讨论】:
标签: google-chrome-extension local-storage
首先,您需要获取所有数据。
然后序列化结果。
最后,将其作为下载提供给用户。
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。
希望对你有帮助
【讨论】:
chrome.storage,而是localStorage。