我需要在存在的许多根文件夹中获取特定的书签组或文件夹“代码库”。此外,我需要在我的 Popup html 表单中显示“代码库”下的子文件夹或子组。从chrome docs,我相信下面的函数可以做这些事情,但它需要文件夹的ID,如何获取ID?
chrome.bookmarks.getSubTree(string id, function callback)
仅供参考,弹出 html 表单由脚本外部控制,我需要在其中放置上述要求的代码。谢谢你的时间 !!!
我需要在存在的许多根文件夹中获取特定的书签组或文件夹“代码库”。此外,我需要在我的 Popup html 表单中显示“代码库”下的子文件夹或子组。从chrome docs,我相信下面的函数可以做这些事情,但它需要文件夹的ID,如何获取ID?
chrome.bookmarks.getSubTree(string id, function callback)
仅供参考,弹出 html 表单由脚本外部控制,我需要在其中放置上述要求的代码。谢谢你的时间 !!!
我使用下面的代码来解决问题,任何人都可以通过检查此答案的“正确”符号或评论来验证下面的代码。
var temP = [];
var found;
$(document).ready(function(){
chrome.bookmarks.getTree(function(bookmarks){
found = search_for_title(bookmarks, "here goes title of an existing bookmark which user need to search"); // found variable will have the id of bookmark we r searching.
chrome.bookmarks.getChildren(found, function(children) { //using the ID of the bookmark we can process further requirement
children.forEach(function(bookmark) { // here i'm dwelling into sub folder to extract the content
console.debug(bookmark.title);// these were the subfolder titles
console.log(bookmark.id);// these were the subfolder ids
});
});
});
function search_for_title(bookmarks, title){ // first argument is entire bookmarks, second argument is title which we specified for search
for(var i=0; i < bookmarks.length; i++){
if(bookmarks[i].title == title){
return bookmarks[i].id; // we will get the id of the bookmark we are searching for
}
else{
if(bookmarks[i].children){
var id = search_for_title(bookmarks[i].children, title);
if(id)
return id;
}
}
}
return false;
}
});
谢谢