我正在尝试恢复任何书签文件夹的文件夹ID,该书签文件夹具有与给定字符串匹配的标题。
问题是,当文本相同时,它不会返回文件夹ID:C
这是我的代码:
chrome.bookmarks.getTree(function(bookmarks)
{
search_for_url(bookmarks, "herpaderp");
});
function search_for_title(bookmarks, title)
{
for(i=0; i < bookmarks.length; i++)
{
if(bookmarks[i].url != null && bookmarks[i].title == title)
{
// Totally found a folder that matches!
return bookmarks[i].id;
}
else
{
if(bookmarks[i].children)
{
// inception recursive stuff to get into the next layer of children
return search_for_title(bookmarks[i].children, title);
}
}
}
// No results :C
return false;
}
1条答案
按热度按时间zdwk9cvp1#
search_for_title
函数有两个问题。1.变量
i
必须是本地变量。要使其成为局部变量,必须在for
语句中使用vari = 0而不是i = 0
。search_for_title
在找不到具有指定标题的书签时返回false
,但您仍然需要查看下一项,所以递归调用search_for_title
后,如果找到书签,则return
返回值 only。否则,应该继续搜索,而不是返回false
。下面是我测试过的正确运行的代码: