bookmarks.search()
Die Funktion bookmarks.search()
durchsucht Lesezeichen-Baumknoten, die der angegebenen Abfrage entsprechen.
Diese Funktion löst eine Ausnahme aus, wenn einer der Eingabeparameter ungültig ist oder nicht den geeigneten Typ hat; schauen Sie in die Konsole für die Fehlermeldung. Die Ausnahmen haben keine Fehler-IDs, und die Nachrichten selbst können sich ändern, daher schreiben Sie keinen Code, der versucht, sie zu interpretieren.
Dies ist eine asynchrone Funktion, die ein Promise
zurückgibt.
Syntax
let searching = browser.bookmarks.search(
query // string or object
)
Parameter
query
-
Ein
string
oderobject
, das die auszuführende Abfrage beschreibt.Wenn
query
ein string ist, besteht er aus null oder mehr durch Leerzeichen getrennten Suchbegriffen. Jeder Suchbegriff passt, wenn er eine Teilzeichenkette in der URL oder im Titel des Lesezeichens ist. Die Übereinstimmung ist nicht groß-/kleinschreibungsempfindlich. Ein Lesezeichen muss alle Suchbegriffe der Abfrage erfüllen, um der Abfrage zu entsprechen.Wenn
query
ein object ist, besteht es aus null oder mehr der 3 Eigenschaften:query
,title
, undurl
, die unten beschrieben werden. Ein Lesezeichen muss alle Suchbegriffe der Eigenschaften erfüllen, um der Abfrage zu entsprechen.query
Optional-
Ein
string
, das einen oder mehrere Suchbegriffe angibt, gegen die abgeglichen werden soll; das Format ist identisch mit der String-Form des Parametersquery
. Wenn dies kein String ist, wird eine Ausnahme ausgelöst. url
Optional-
Ein
string
, das genau mit der URL des Lesezeichens übereinstimmen muss. Die Übereinstimmung ist nicht groß-/kleinschreibungsempfindlich, und nachfolgende Schrägstriche werden ignoriert.Wenn Sie eine ungültige URL übergeben, wird die Funktion eine Ausnahme auslösen.
title
Optional-
Ein
string
, das genau mit dem Titel des Lesezeichen-Baumknotens übereinstimmen muss. Die Übereinstimmung ist groß-/kleinschreibungsempfindlich.
Rückgabewert
Ein Promise
, das mit einem Array von bookmarks.BookmarkTreeNode
-Objekten erfüllt wird, die jeweils einen einzelnen übereinstimmenden Lesezeichen-Baumknoten darstellen. Die Ergebnisse werden in der Reihenfolge zurückgegeben, in der die Knoten erstellt wurden. Das Array ist leer, wenn keine Ergebnisse gefunden wurden.
Die von bookmarks.search()
zurückgegebenen BookmarkTreeNodes
—auch Knoten des Typs "folder"
—fehlen die Eigenschaft children
. Um einen vollständigen BookmarkTreeNode
zu erhalten, verwenden Sie bookmarks.getSubTree()
.
Beispiel
Dieses Beispiel protokolliert die IDs aller Lesezeichen:
function onFulfilled(bookmarkItems) {
for (const item of bookmarkItems) {
console.log(item.id);
}
}
function onRejected(error) {
console.log(`An error: ${error}`);
}
browser.bookmarks.search({}).then(onFulfilled, onRejected);
Dieses Beispiel überprüft, ob der aktuell aktive Tab als Lesezeichen gespeichert ist:
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) {
browser.bookmarks.search({ url: tab.url }).then(onFulfilled, onRejected);
}
browser.browserAction.onClicked.addListener(checkActiveTab);
Beispielerweiterungen
Browser-Kompatibilität
Hinweis:
Diese API basiert auf Chromiums chrome.bookmarks
API. Diese Dokumentation ist abgeleitet von bookmarks.json
im Chromium-Code.