如何获取chrome书签树的所有终端节点?

时间:2012-01-28 08:26:30

标签: javascript google-chrome-extension mootools1.2

我一直在尝试将chorme中所有已添加书签的网址添加到我正在制作的扩展程序中。但到目前为止,我只能设法获得树,并且检查所有文件夹的位置并从中获取URL是一项非常漫长的任务。是否有任何方法可以将所有端节点(也就是网址)全部放在一起?我正在使用mootools框架。

1 个答案:

答案 0 :(得分:1)

这就是我接近它的方式:

function collectLinks( bookmark , bag )
{ 
  if( bookmark.children)
  { 
    for(var i = 0; i < bookmark.children.length ; i++ ) 
      collectLinks( bookmark.children[i] , bag ) 
  } 
  if(bookmark.url)bag.push(bookmark) 
}

此函数无限地迭代书签节点

var list = [];
chrome.bookmarks.getTree( function(bookmarks){ collectLinks( bookmarks[0] , list ); collectLinks( bookmarks[1] , list );} )

这将获取书签并将URL检索到“列表”中。 另外,bookmarks[0]是书签栏,bookmarks[1]是“其他书签”