我在Android上测试,我有:
function initialize(){
console.log('into initialize');
document.addEventListener('deviceready', onDeviceReady, false);
}
function onDeviceReady(e){
window.requestFileSystem(LocalFileSystem.TEMPORARY, 0, onSuccess, errorHandler);
}
function onSuccess(fs){
fs.root.getFile('log.txt',{},function(fileEntry){console.log('the file is: ' + fileEntry.isFile);},errorHandler);
fs.root.getDirectory('MyPictues',{},function(dirEntry){if(!dirEntry.isDirectory){console.log('My Pictures is not a directory');} else {console.log('My Pictures is a directory');}},errorHandler);
}
function errorHandler(e) {
var msg = '';
switch (e.code) {
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);
}
我在加载文档时调用initialize()。 奇怪的是在if这一行:
fs.root.getDirectory('MyPictues',{},function(dirEntry){if(!dirEntry.isDirectory){console.log('My Pictures is not a directory');} else {console.log('My Pictures is a directory');}},errorHandler);
我在我的根目录中有一个名为" MyPictures"的目录,在我上面拼错了它试图验证是否" MyPictues"存在,但我得到了'NOT_FOUND_ERR'从交换机而不是简单地获取日志:'我的图片不是目录'。 如果我在没有拼错名称的情况下进行测试,我会得到正确的行为。
答案 0 :(得分:2)
不要在文档加载时调用initialize()函数,写
document.addEventListener('deviceready', onDeviceReady, false);
在函数外部,在写入onDeviceReady方法后,将在设备准备好时调用 那个时候你不会得到任何错误。 如
<script>
document.addEventListener('deviceready', onDeviceReady, false);
function onDeviceReady(e){
window.requestFileSystem(LocalFileSystem.TEMPORARY, 0, onSuccess, errorHandler);
}
function onSuccess(fs){
fs.root.getFile('log.txt',{},function(fileEntry){console.log('the file is: ' + fileEntry.isFile);},errorHandler);
fs.root.getDirectory('MyPictues',{},function(dirEntry){if(!dirEntry.isDirectory){console.log('My Pictures is not a directory');} else {console.log('My Pictures is a directory');}},errorHandler);
}
function errorHandler(e) {
var msg = '';
switch (e.code) {
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);
}
</script>