Как получить все конечные узлы дерева закладок Chrome? - PullRequest
0 голосов
/ 28 января 2012

Я пытался получить все отмеченные URL-адреса в chorme для расширения, которое я делаю.Но до сих пор мне удавалось только получить дерево, и очень долгая задача - проверить, где находятся все папки, и получить URL-адреса из них.Есть ли метод, с помощью которого я могу получить все конечные узлы (которые будут URL-адреса) все вместе?Я использую фреймворк mootools.

1 Ответ

1 голос
/ 07 февраля 2012

Вот как я бы подошел:

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] - «другие закладки»

...