La fonction bookmarks.search() recherche les nœuds d'arborescence de signets correspondant à la requête donnée.

Cette fonction déclenche une exception si l'un des paramètres d'entrée n'est pas valide ou n'est pas d'un type approprié ; regardez dans la console pour le message d'erreur. Les exceptions n'ont pas d'ID d'erreur et les messages eux-mêmes peuvent changer, donc n'écrivez pas de code qui essaie de les interpréter.

C'est une fonction asynchrone qui renvoie une Promise.

Syntaxe

var searching = browser.bookmarks.search(
  query                  // string or object
)

Paramètres

query
Un string ou object décrivant la requête à effectuer.

Si la query est une chaîne, elle comprend zéro ou plusieurs termes de recherche. Les termes de recherche sont délimités par des espaces et peuvent être placés entre guillemets pour permettre la recherche dans des expressions de plusieurs mots. Chaque terme de recherche correspond s'il correspond à une sous-chaîne dans l'URL ou le titre du signet. La correspondance est insensible à la casse. Pour qu'un signet corresponde à la requête, tous les termes de recherche de la requête doivent correspondre.

Si la query un objet, elle possède zéro ou plus des trois propriétés suivantes : query, title, et url, qui sont décrites ci-dessous. Pour qu'un signet corresponde à la requête, tous les termes de propriétés fournis doivent correspondre aux valeurs spécifiées.

query Facultatif
Un string spécifiant un ou plusieurs termes à comparer; le format est identique à la forme de chaîne du paramètre du query. Si ce n'est pas une chaîne, une exception est levée.
url Facultatif
Un string qui doit correspondre exactement à l'URL du signet. La correspondance est insensible à la casse et les barres obliques de fin sont ignorées.

Si vous passez une URL invalide ici, la fonction lèvera une exception.

title Facultatif
Un string Ceci doit correspondre exactement au titre du noeud de l'arbre du signet. La correspondance est sensible à la casse.

Valeur retournée

Une Promise sera accompli avec un tableau d'objets bookmarks.BookmarkTreeNode, chacun représentant un seul nœud d'arbre de signet correspondant. Les résultats sont renvoyés dans l'ordre de création des nœuds. Le tableau est vide si aucun résultat n'a été trouvé.

Le BookmarkTreeNodes—même du type "folder" — renvoyé par  bookmarks.search() ne contiennent pas la propriété children. Pour obtenir un  BookmarkTreeNode utilisez bookmarks.getSubTree().

Compatibilité du navigateur

Update compatibility data on GitHub
OrdinateurMobile
ChromeEdgeFirefoxOperaFirefox pour Android
Support simpleChrome Support complet OuiEdge Aucun support NonFirefox Support complet 47Opera Support complet OuiFirefox Android Aucun support Non

Légende

Support complet  
Support complet
Aucun support  
Aucun support

Exemple

Cet exemple enregistre les ID de tous les signets :

function onFulfilled(bookmarkItems) {
  for (item of bookmarkItems) {
    console.log(item.id);
  }
}

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

var searching = browser.bookmarks.search({});

searching.then(onFulfilled, onRejected);

Cet exemple cherche à voir si l'onglet actuellement actif est marqué d'un signet :

function onFulfilled(bookmarkItems) {
  if (bookmarkItems.length) {
    console.log("active tab is bookmarked");
  } else {
    console.log("active tab is not bookmarked");
  }
}

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

function checkActiveTab(tab) {
  var searching = browser.bookmarks.search({url: tab.url});
  searching.then(onFulfilled, onRejected);
}

browser.browserAction.onClicked.addListener(checkActiveTab);

Example extensions

Remerciements :

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.

Étiquettes et contributeurs liés au document

Contributeurs à cette page : hellosct1
Dernière mise à jour par : hellosct1,