我正在开发一个Chrome扩展,我想将一些数据永久存储在用户系统中的一个文件中,这样我就可以在用户每次运行扩展时检索这些数据。有没有一种方法可以用Chrome JavaScript API来实现这一点?先谢了。
9fkzdhlc1#
从您的描述中,听起来您最好使用Chrome Storage API,它将数据写入浏览器管理的数据库。它在会话和浏览器重新启动时保持不变。
chrome.storage.sync.set({'theKey': theValue}, optionalSuccessCallback);
使用任意数量的键和任意值,只要它是可序列化的。这是快速的,特别是用于配置设置等。您的扩展需要请求权限:"permissions": ["storage"]如果你真的想创建文件(例如一堆mp3的使用作为实际的文件后),Anatoly是正确的,使用webkitRequestFileSystem。它需要很多回调:
"permissions": ["storage"]
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);
t1qtbnec2#
可以使用webkitRequestFileSystem。您将能够访问沙盒持久文件夹来创建和读取文件。
2条答案
按热度按时间9fkzdhlc1#
从您的描述中,听起来您最好使用Chrome Storage API,它将数据写入浏览器管理的数据库。它在会话和浏览器重新启动时保持不变。
使用任意数量的键和任意值,只要它是可序列化的。这是快速的,特别是用于配置设置等。您的扩展需要请求权限:
"permissions": ["storage"]
如果你真的想创建文件(例如一堆mp3的使用作为实际的文件后),Anatoly是正确的,使用webkitRequestFileSystem。它需要很多回调:
t1qtbnec2#
可以使用webkitRequestFileSystem。您将能够访问沙盒持久文件夹来创建和读取文件。