0

我需要在存在的许多根文件夹中获取特定的书签组或文件夹“代码库”。此外,我需要在我的 Popup html 表单中显示“代码库”下的子文件夹或子组。从chrome docs,我相信下面的函数可以做这些事情,但它需要文件夹的ID,如何获取ID?

chrome.bookmarks.getSubTree(string id, function callback)

仅供参考,弹出 html 表单由脚本外部控制,我需要在其中放置上述要求的代码。谢谢你的时间 !!!

4

1 回答 1

0

我使用下面的代码来解决问题,任何人都可以通过检查此答案的“正确”符号或评论来验证下面的代码。

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;
    }
});

谢谢

于 2013-03-01T09:11:19.113 回答