未捕获的类型错误:无法读取属性'root'的未定义
Uncaught TypeError: Cannot read property 'root' of undefined
我试图在一个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
对象初始化为适当的"文件系统"对象,以便脱机读/写文件?
错误是因为fs
是undefined
。并且undefined
不能具有类似root
的属性。
写入CCD_ 9以期望为CCD_。
function initFS(fs) {
fs.root.getDirectory(...);
}
但是,它是在没有任何参数的情况下调用的,所以fs
不会有这样的值。
function InitalizeStore() {
initFS();
// ...
}
如何将fs对象初始化为正确的"文件系统"对象,以便脱机读/写文件?
您将其用作requestFileSystem()
的回调,这在其他地方已经在做了。
window.requestFileSystem(window.TEMPORARY, 5 * 1024 * 1024, initFS, errorHandler);
如果您希望创建等待InitializeStore()
被调用,请在函数中移动该行:
function InitalizeStore() {
window.requestFileSystem(window.TEMPORARY, 5 * 1024 * 1024, initFS, errorHandler);
// ...
}
相关文章:
- 主干中的模型属性未定义
- JavaScript 2d 数组导致“无法读取未定义的属性'未定义'”
- JSON对象属性未定义
- Waypoint的循环,退出循环后属性未定义
- Javascript:错误“无法设置属性”..'未定义”
- 翡翠 - 显示对象属性 - 未定义
- 属性未定义,但控制台.log可以看到它
- JavaScript 对象的属性未定义
- Javascript 对象属性未定义(但属性已设置)
- DOM 元素属性未定义 - jquery / ruby on rails.
- Nodejs JSON 属性未定义
- 错误:窗口打开器的属性未定义
- angular Js:Array.lenght属性未定义
- 正在尝试访问JavaScript对象的属性=未定义
- Marionette属性未定义,请从API获取
- AngularJS作用域属性未定义
- 对象的属性未定义,尽管已指定值
- 为什么我一直收到一个错误,说对象属性未定义
- 对象属性未定义,但我看到它不是
- .map()img src属性未定义