Bigbin
Bigbin
  • 发布:2017-09-26 10:28
  • 更新:2017-09-26 10:28
  • 阅读:1507

关于h5+的io文件系统,官方示例存在bug,返回上一级在存在多级目录的时候渲染出现问题

分类:HTML5+

根据h5+官方示例,我自己写了一个文件系统,发现示例中的parentDir()方法好像有点问题,在存在多级目录的时候,返回上一级失效,无法渲染出上上级的列表页内容,只能返回至上级或者根目录。仔细看了下代码,好像是DirectoryEntry中getParent有问题,官方说该方法是获取目录所属的父目录,然后我输出了下它的返回值竟然是当前目录,有没有人遇到过同样的问题,诚心求解```javascript
function parentDir() {
//outSet( "Go to previous directory: \""+dir+"\"");
var p = dir.lastIndexOf("/", dir.length - 2);//
//alert(dir);
//alert(p);
if(p < 0 || !parent) { // 上一级为根目录
dir = "";
current = parent = null;
// hide up to parent item
pitem.style.display = "none";
addfile.style.display = "none";
delFolder.style.display = "none";
// Update ui
updateList(root);//更新目录为根目录
} else {//上一级不是根目录
//alert(parent.name);
var dirReader = parent.createReader();//创建父目录读取对象,用户读取目录下的文件及子目录
dirReader.readEntries(function(entries) {//获取当前目录中的所有文件和子目录
dir = dir.substr(0, p + 1);
outLine( "Current directory: \""+dir+"\"" );
current = parent;
current.getParent(function(entry) {
parent = entry;//获取目录所属的父目录,这个方法好像没起作用,获取的是当前目录
//alert(entry.name);//输出的是当前目录
}, function(e) {//父目录获取失败回调
outLine("Get \"" + current.name + "\" parent directory failed: " + e.emssage);
});
parent = null;
// Update ui
updateList(entries);//更新目录
}, function(e) {//失败回调
outLine("Read directory " + item.id + " failed: " + e.message);
});
}
}

2017-09-26 10:28 负责人:无 分享
已邀请:

该问题目前已经被锁定, 无法添加新回复