Bonjour,

D'après ce que j'ai lu sur le mdn, l'objet nsINavBookmarksService permet la gestion des bookmarks. En insertion aucun problème.

Par contre pour récupérer des bookmarks c'est une autre histoire. Je n'ai trouvé aucune fonction me permettant de récupérer tous les bookmarks et aucun algo pouvant me fournir ce que je souhaite (soit je suis passé a coté soit je l'ai pas vu ^^).

Donc avez-vous une méthode pour récupérer les bookmarks ?

EDIT:
Bon j'ai trouvé. Néanmoins je trouve cela étrange pour lister les bookmarks, il faut passer par une bdd sqlite utilisé par firefox, voici le code qui fait un alert sur vos bookmarks dans FF.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
let historyService = Components.classes["@mozilla.org/browser/nav-history-service;1"]
        .getService(Components.interfaces.nsINavHistoryService);
let options = historyService.getNewQueryOptions();
let query = historyService.getNewQuery();
 
let bookmarksService = Components.classes["@mozilla.org/browser/nav-bookmarks-service;1"]
          .getService(Components.interfaces.nsINavBookmarksService);
let toolbarFolder = bookmarksService.toolbarFolder;
 
query.setFolders([toolbarFolder], 1);
 
let result = historyService.executeQuery(query, options);
let rootNode = result.root;
rootNode.containerOpen = true;
 
//iterate over the immediate children of this folder and dump to console
let str = "";
for (let i = 0; i < rootNode.childCount; i ++) 
{
	let node = rootNode.getChild(i);
	str += "Child: " + node.title + "\n";
}
 
//close a container after using it!
rootNode.containerOpen = false;
alert(str);