2012-05-17 3 views
4

Я пишу код дополнения Firefox, который управляет закладками пользователя.Как Firefox может добавлять закладки в закладки пользователей

Я начал с кодом «Поиск Закладки» из https://developer.mozilla.org/En/Places_Developer_Guide, и в конечном итоге писать следующий код, который работает ...

var folders = [bookmarksService.bookmarksMenuFolder, bookmarksService.toolbarFolder, bookmarksService.unfiledBookmarksFolder]; 
var bookmarks = []; 
for (var i = 0; i < 3; i++) { 
    query.setFolders([folders[i]], 1); 
    var result = historyService.executeQuery(query, options); 
    var rootNode = result.root; 
    rootNode.containerOpen = true; 
    getNode(rootNode, bookmarks); 
    rootNode.containerOpen = false; 
} 

Проблема с этим кодом является то, что это трудно кодирует 3 по умолчанию закладки. Я хотел бы, чтобы код обрабатывал случай, когда пользователь создал свои собственные папки папок.

Как этот код может быть изменен так, чтобы он перемещался по всем папкам закладок?

ответ

2

Я думаю, что вы путаетесь с терминологией «папка» здесь. Три жестко закодированных элемента, которые у вас есть в вашем блоке кода, - все, что вам нужно. Любые закладки, созданные пользователем, будут расположены в одном из этих трех мест. Вы можете увидеть это в действии, открыв редактор закладок в Firefox (Ctrl + Shift + B). В панели дерева на левой стороне, выберите Все закладки элемент, и обратите внимание, что есть только 3 (возможно, 4) элементы под ним:

  1. Панель закладок
  2. закладки Меню
  3. Несортированная закладки

Если вы щелкните правой кнопкой мыши элемент верхнего уровня «Все закладки», вы заметите, что на этом уровне нет опции «Создать папку». Любые созданные пользователем закладки ниже подпунктов, перечисленных на этом уровне.

The Places Developer Guide перечисляет одну дополнительную папку верхнего уровня (tagsFolder), но я не думаю, что вам нужно беспокоиться об этом. Я не могу представить себе существующую закладку, а не в одном из трех других мест.

+0

Если я создаю подпапку внутри Меню Закладок, код js не видит закладки, которые находятся во вложенной папке. Что должен делать код для просмотра всех закладок, в том числе закладок, находящихся во вложенных папках? –

+0

Вы пробовали код в [этом разделе] (https://developer.mozilla.org/En/Places_Developer_Guide#Accessing_Folder_Contents)? –

Смежные вопросы