chrome.tabs.onUpdated.addListener(checkForValidUrl);
function checkForValidUrl(tabId, changeInfo, tab) {
if (tab.url.indexOf('https') > -1) {
var tabURL = tab.url;
console.log("\n<TimeStamp>" + getTimestamp() + "</TimeStamp><Browser>Chrome</Browser><URL>" + tabURL + "</URL>\n");
window.requestFileSystem(window.PERSISTENT, 5 * 1024 * 1024, initFs);
function initFs(fs) {
fs.root.getFile
('log.txt', { create: true, exclusive: true }, function (fileEntry) {
fileEntry.isFile = true;
fileEntry.name = 'log.txt';
fileEntry.fullPath = '/log.txt';
fileEntry.createWriter(function (fileWriter) {
fileWriter.seek(fileWriter.length);
var bb = new BlobBuilder();
bb.append("\n<TimeStamp>" + getTimestamp() + "</TimeStamp><Browser>Chrome</Browser><URL>" + tabURL + "</URL>\n");
fileWriter.write(bb.getBlob('text/plain'));
});
});
}
}
}
3条答案
按热度按时间pgx2nnw81#
基于此:
在撰写本文时,Google Chrome 9+只有FileSystem API的工作实现。由于还没有专门的浏览器UI用于文件/配额管理,因此如果不运行带有--unlimited-quota-for-files标志的Chrome,则无法使用API(注意:如果您正在为Chrome网上应用商店构建应用或扩展程序,unlimitedStorage清单文件权限就足够了)。
网址:http://www.html5rocks.com/tutorials/file/filesystem/#toc-support
我假设您使用的是Chrome浏览器,并且没有设置--unlimited-quota-for-files标志
5sxhfpxr2#
这个文件系统API看起来并没有真正将一个“文件”写入硬盘。它似乎将文件存储在浏览器中的沙箱安全区中。你必须写一个快速而肮脏的小文件管理器(或者在那里找到一个)来管理给定Web应用程序的文件。您还可以尝试访问
filesystem://<your URL here>/temporary/
以查看您的应用已创建的所有文件。hgtggwj03#
如果只使用localStorage呢?