我正在开发Chrome扩展程序,我希望将一些数据永久存储在用户系统中,以便每次用户运行扩展程序时都可以检索该数据。
有没有办法可以使用chrome javascript API实现这一目标?
提前致谢。
答案 0 :(得分:3)
根据您的描述,听起来您最好使用Chrome Storage API,它将数据写入浏览器管理的数据库。它保持跨会话和浏览器重启。
chrome.storage.sync.set({'theKey': theValue}, optionalSuccessCallback);
使用任意数量的键和任何值,只要它是可序列化的。这很快,对配置设置等都特别有用。您的扩展程序需要请求权限:
"permissions": ["storage"]
如果您的确实想要创建文件(例如稍后将用作实际文件的一堆mp3),Anatoly是对的,请使用webkitRequestFileSystem。它需要相当多的回调:
function onInitFs(fs) {
fs.root.getFile('log.txt', {create: true}, function(fileEntry) {
// Create a FileWriter object for our FileEntry (log.txt).
fileEntry.createWriter(function(fileWriter) {
fileWriter.onwriteend = function(e) {
console.log('Write completed.');
};
fileWriter.onerror = function(e) {
console.log('Write failed: ' + e.toString());
};
// Create a new Blob and write it to log.txt.
var blob = new Blob(['Lorem Ipsum'], {type: 'text/plain'});
fileWriter.write(blob);
}, errorHandler);
}, errorHandler);
}
window.requestFileSystem(window.TEMPORARY, 1024*1024, onInitFs, errorHandler);
答案 1 :(得分:0)
可以使用webkitRequestFileSystem。 您将能够访问沙盒持久性文件夹以创建和读取文件。