我想同步遍历书签树,但像这样递归遍历树:
function traverseBookmarks(bookmarkTreeNodes) {
for(var i=0;i<bookmarkTreeNodes.length;i++) {
if(bookmarkTreeNodes[i].children) {
traverseBookmarks(bookmarkTreeNodes[i].children);
}
}
}
但是当我打印出bookmarkTreeNodes[i]
使用它的属性时:
function objToString(obj){
var a = '';
for(var p in obj){
a += p + ' : ' + obj[p] + ' \n';
}
return a;
}
我明白了:
dateAdded : 1369804994102
dateGroupModified : 1369805295054
id : 2240
index : 9
parentId : 1
title : Diet
没有children
像 API 所说的那样应该有的属性。没有children
同步的方式来遍历书签树。目前,我必须使用每个文件夹节点的 id,然后使用异步函数chrome.bookmarks.getChildren()
来检索导致各种其他问题的子节点,例如在异步调用完成之前执行后续代码。