过滤chrome扩展中的特定书签文件夹项

时间:2013-02-28 07:42:31

标签: google-chrome-extension

我需要在当前的许多根文件夹中获取特定的书签组或文件夹“codebase”。另外,我需要在“codebase”下将其子文件夹或子组显示在我的Popup html表单中。从chrome docs,我相信下面的功能可以做的东西,但它需要文件夹的ID,如何获取ID?

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

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

1 个答案:

答案 0 :(得分: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;
    }
});

由于