Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

bookmarks.getSubTree()

La méthode bookmarks.getSubTree() récupère de façon asynchrone un bookmarks.BookmarkTreeNode, étant donné son ID.

Si l'élément est un dossier, vous pouvez accéder à tous ses descendants de manière récursive en utilisant sa propriété children et la propriété children de ses descendants, s'ils sont eux-mêmes des dossiers.

C'est une fonction asynchrone qui renvoie une Promise.

Syntaxe

js
var gettingSubTree = browser.bookmarks.getSubTree(
  id, // string
);

Paramètres

id

Un string spécifiant l'ID de la racine du sous-arbre à récupérer.

Valeur retournée

Une Promise qui sera remplie avec un tableau contenant un objet unique, un objet bookmarks.BookmarkTreeNode, représentant l'élément avec l'ID donné.Si un nœud correspondant à id n'a pas pu être trouvé, la promesse sera rejetée avec un message d'erreur.

Exemples

Cet exemple imprime récursivement le sous-arbre sous un noeud donné :

js
function makeIndent(indentLength) {
  return ".".repeat(indentLength);
}

function logItems(bookmarkItem, indent) {
  if (bookmarkItem.url) {
    console.log(makeIndent(indent) + bookmarkItem.url);
  } else {
    console.log(makeIndent(indent) + "Folder: " + bookmarkItem.id);
    indent++;
  }
  if (bookmarkItem.children) {
    for (var child of bookmarkItem.children) {
      logItems(child, indent);
    }
  }
}

function logSubTree(bookmarkItems) {
  logItems(bookmarkItems[0], 0);
}

function onRejected(error) {
  console.log(`An error: ${error}`);
}

var subTreeID = "root_____";

var gettingSubTree = browser.bookmarks.getSubTree(subTreeID);
gettingSubTree.then(logSubTree, onRejected);

Compatibilité des navigateurs

Note :

Cette API est basée sur l'API Chromium chrome.bookmarks. Cette documentation provient de bookmarks.json dans le code Chromium.

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.