bookmarks.search()
Die Funktion bookmarks.search() durchsucht Lesezeichenbaumnoten, die der angegebenen Abfrage entsprechen.
Diese Funktion wirft eine Ausnahme, wenn einer der Eingabeparameter ungültig ist oder nicht vom passenden Typ ist; schauen Sie in der Konsole nach der Fehlermeldung. Die Ausnahmen haben keine Fehler-IDs und die Nachrichten selbst können sich ändern, daher sollten Sie keinen Code schreiben, 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
StringoderObject, das die durchzuführende Abfrage beschreibt.Wenn
queryein String ist, besteht es aus null oder mehr durch Leerzeichen getrennten Suchbegriffen. Jeder Suchbegriff passt, wenn er eine Unterzeichenfolge der URL oder des Titels des Lesezeichens ist. Die Übereinstimmung ist nicht case-sensitiv. Damit ein Lesezeichen der Abfrage entspricht, müssen alle Suchbegriffe der Abfrage übereinstimmen.Wenn
queryein Objekt ist, besteht es aus null oder mehr von 3 Eigenschaften:query,titleundurl, die im Folgenden beschrieben sind. Damit ein Lesezeichen der Abfrage entspricht, müssen alle Begriffe der Eigenschaften übereinstimmen.queryOptional-
Ein
String, das einen oder mehrere abzugleichende Begriffe angibt; das Format ist identisch mit der String-Form desqueryParameters. Wenn dies kein String ist, wird eine Ausnahme ausgelöst. urlOptional-
Ein
String, das genau der URL des Lesezeichens entsprechen muss. Die Übereinstimmung ist nicht case-sensitiv und abschließende Schrägstriche werden ignoriert.Wenn Sie eine ungültige URL übergeben, wird die Funktion eine Ausnahme auslösen.
titleOptional-
Ein
String, das genau dem Titel des Lesezeichenbaumnoten entsprechen muss. Die Übereinstimmung ist case-sensitiv.
Rückgabewert
Ein Promise, das mit einem Array von bookmarks.BookmarkTreeNode-Objekten erfüllt wird, wobei jedes Objekt einen einzelnen übereinstimmenden Lesezeichenbaumnoten repräsentiert. 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 — selbst Knoten vom Typ "folder" — fehlen die children Eigenschaft. 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 derzeit aktive Tab ein Lesezeichen 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 Chromium's chrome.bookmarks API. Diese Dokumentation wird abgeleitet von bookmarks.json im Chromium Code.