我正在尝试在 html5 Web 应用程序中为离线功能实现文件 api 存储,但遇到了一些问题。
我在包含的 JS 文件中有以下代码(我为使用文件 api 而创建的库):
window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;
window.requestFileSystem(window.TEMPORARY, 5 * 1024 * 1024, initFS, errorHandler);
function initFS(fs) {
alert("Welcome to Filesystem! It's showtime :)"); // Just to check if everything is OK :)
fs.root.getDirectory('files', { create: true }, function(dirEntry) {
alert('You have just created the ' + dirEntry.name + ' directory.');
}, errorHandler);
}
在另一个 JS 文件中(我的大部分工作(业务逻辑)已经完成),我有:
//INITALIZE
function InitalizeStore() {
initFS();
//more init's done here
}
我遇到的问题是在initFS
函数中,fs.root.getDirectory('files'...
抛出一个错误:Uncaught TypeError: Cannot read property 'root' of undefined
.
我尝试了一些文件 api 包装器(filer.js和webfs.js),甚至尝试编写自己的包装器,但在实现文件 api 时没有运气(每个包装器都产生相同的错误)。
我曾尝试使用应用程序缓存,但由于我的应用程序的性质,我遇到了内存限制(空间不足)。此外,这只会在 Chrome 中运行。
如何让我的fs
对象初始化为正确的“文件系统”对象,以便我可以离线读取/写入文件?