【发布时间】:2023-03-26 15:35:01
【问题描述】:
我正在制作 chrome 扩展程序,它将保存浏览器中的每个操作,例如 new_tab、new_window、switch_tab、close_tab ......但我想将信息本地存储在 csv 文件中。我尝试了许多指南和教程,但仍然无法正常工作。 首先我只想将测试字符串保存到本地文件中,这个文件会可见吗?我计划从大约 20 人那里获取这些数据。
在清单中:
{
"manifest_version": 2,
"name": "Getting started example",
"description": "This is testing description",
"version": "1.0",
"browser_action": {
"default_icon": "icon.png",
"default_popup": "popup.html",
"default_title": "Click here!"
},
"permissions": [
"activeTab",
"tabs",
]
}
在popup.html 中导入javascript
<script type="text/javascript" src="popup.js"></script>
在 popup.js 中是这样的:
window.onload = function() {
var filesystem = null;
window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;
window.requestFileSystem(window.PERSISTENT, 5*1024*1024 , onInitFs, errorHandler);
function onInitFs() {
filesystem = fs;
filesystem.root.getFile('treehouse.txt', {create: true}, function(fileEntry) {
fileEntry.createWriter(function(fileWriter) {
fileWriter.onwriteend = function(e) {
console.log("write done");
};
fileWriter.onerror = function(e) {
console.log("write error");
};
var contentBlob = new Blob(['JUST OWN TEXT FOR TESTING!'], {type: 'text/plain'});
fileWriter.write(contentBlob);
}, errorHandler);
}, errorHandler);
}
function errorHandler(e) {
var msg = '';
switch (e.message) {
case FileError.QUOTA_EXCEEDED_ERR:
msg = 'QUOTA_EXCEEDED_ERR';
break;
case FileError.NOT_FOUND_ERR:
msg = 'NOT_FOUND_ERR';
break;
case FileError.SECURITY_ERR:
msg = 'SECURITY_ERR';
break;
case FileError.INVALID_MODIFICATION_ERR:
msg = 'INVALID_MODIFICATION_ERR';
break;
case FileError.INVALID_STATE_ERR:
msg = 'INVALID_STATE_ERR';
break;
default:
msg = 'Unknown Error';
break;
};
console.log('Error: ' + msg);
}
}
从控制台Uncaught ReferenceError: fs is not defined 在线filesystem = fs; 给出错误
没有创建文件或我没有找到它。我假设 root 在某个地方 C:/ 或 C:/Windows
有人可以帮忙修复代码吗?或一些有用的建议?
【问题讨论】:
-
您似乎没有在任何地方分配
fs变量,这就是它为空的原因 -
谢谢,没有看到小错误..由于本指南 (html5rocks.com/en/tutorials/file/filesystem) fs 未分配它只是函数的参数,所以我将 fs 作为 onInitFs(fs) 的参数和控制台错误消失了,但我从 errorHandler 得到“未知错误”
标签: javascript google-chrome-extension html5-filesystem