Beschreibung
Mit der chrome.bookmarks
API können Sie Lesezeichen erstellen, organisieren und anderweitig bearbeiten. Weitere Informationen finden Sie unter Seiten überschreiben. Damit können Sie eine benutzerdefinierte Seite im Lesezeichenmanager erstellen.
![Durch Klicken auf den Stern wird ein Lesezeichen hinzugefügt.](https://developer.chrome.google.cn/static/docs/extensions/reference/api/images/bookmarks.png?authuser=6&hl=de)
Berechtigungen
bookmarks
Sie müssen die Berechtigung „Lesezeichen“ im Erweiterungsmanifest deklarieren, um die Lesezeichen API nutzen zu können. Beispiel:
{
"name": "My extension",
...
"permissions": [
"bookmarks"
],
...
}
Konzepte und Nutzung
Objekte und Attribute
Lesezeichen sind in einer Baumstruktur organisiert, wobei jeder Knoten in der Baumstruktur entweder ein Lesezeichen oder ein Ordner (manchmal auch als Gruppe bezeichnet) ist. Jeder Knoten im Baum wird durch ein Objekt bookmarks.BookmarkTreeNode dargestellt.
BookmarkTreeNode
-Attribute werden in der gesamten chrome.bookmarks
API verwendet. Wenn Sie beispielsweise bookmarks.create aufrufen, übergeben Sie das übergeordnete Element (parentId
) des neuen Knotens und optional die Attribute index
, title
und url
des Knotens. Informationen zu den Eigenschaften eines Knotens finden Sie unter bookmarks.BookmarkTreeNode.
Beispiele
Mit dem folgenden Code wird ein Ordner mit dem Titel „Erweiterungslesezeichen“ erstellt. Das erste Argument von create()
gibt Attribute für den neuen Ordner an. Das zweite Argument definiert eine Funktion, die nach dem Erstellen des Ordners ausgeführt werden soll.
chrome.bookmarks.create(
{'parentId': bookmarkBar.id, 'title': 'Extension bookmarks'},
function(newFolder) {
console.log("added folder: " + newFolder.title);
},
);
Mit dem nächsten Snippet wird ein Lesezeichen erstellt, das auf die Entwicklerdokumentation für Erweiterungen verweist. Da beim Erstellen des Lesezeichens keine Fehler auftreten, definiert dieser Code keine Callback-Funktion.
chrome.bookmarks.create({
'parentId': extensionsFolderId,
'title': 'Extensions doc',
'url': 'https://developer.chrome.com/docs/extensions',
});
Wenn Sie diese API testen möchten, installieren Sie das Lesezeichen API-Beispiel aus dem Repository chrome-extension-sample.
Typen
BookmarkTreeNode
Ein Knoten (entweder ein Lesezeichen oder ein Ordner) in der Lesezeichenstruktur. Untergeordnete Knoten werden in ihrem übergeordneten Ordner sortiert.
Attribute
-
Kinder
BookmarkTreeNode[] optional
Eine sortierte Liste der untergeordneten Elemente dieses Knotens.
-
dateAdded
Nummer optional
Wann dieser Knoten erstellt wurde, in Millisekunden seit der Epoche (
new Date(dateAdded)
). -
dateGroupModified
Nummer optional
Wann der Inhalt dieses Ordners zuletzt geändert wurde, in Millisekunden seit der Epoche.
-
dateLastUsed
Nummer optional
Chrome 114 und höherWann dieser Knoten zuletzt geöffnet wurde, in Millisekunden seit der Epoche. Nicht für Ordner festgelegt.
-
id
String
Die eindeutige Kennung für den Knoten. IDs sind innerhalb des aktuellen Profils eindeutig und bleiben auch nach einem Neustart des Browsers gültig.
-
Index
Nummer optional
Die 0-basierte Position dieses Knotens in seinem übergeordneten Ordner.
-
parentId
String optional
Der
id
des übergeordneten Ordners. Für den Root-Knoten ausgelassen. -
Titel
String
Der für den Knoten angezeigte Text.
-
unveränderlich
optional
Gibt den Grund an, warum dieser Knoten nicht geändert werden kann. Der Wert
managed
gibt an, dass dieser Knoten vom Systemadministrator oder vom Treuhänder eines betreuten Nutzers konfiguriert wurde. Ausgelassen, wenn der Knoten vom Nutzer und der Erweiterung geändert werden kann (Standardeinstellung). -
url
String optional
Die URL, zu der ein Nutzer weitergeleitet wird, wenn er auf das Lesezeichen klickt. Für Ordner ausgelassen.
BookmarkTreeNodeUnmodifiable
Gibt den Grund an, warum dieser Knoten nicht geändert werden kann. Der Wert managed
gibt an, dass dieser Knoten vom Systemadministrator konfiguriert wurde. Ausgelassen, wenn der Knoten vom Nutzer und der Erweiterung geändert werden kann (Standardeinstellung).
Wert
CreateDetails
Objekt, das an die Funktion create() übergeben wird.
Attribute
-
Index
Nummer optional
-
parentId
String optional
Die Standardeinstellung ist der Ordner „Andere Lesezeichen“.
-
Titel
String optional
-
url
String optional
Attribute
MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE
Das Schreiben von Lesezeichen wird nicht mehr durch Chrome eingeschränkt.
Wert
1.000.000
MAX_WRITE_OPERATIONS_PER_HOUR
Das Schreiben von Lesezeichen wird nicht mehr durch Chrome eingeschränkt.
Wert
1.000.000
Methoden
create()
chrome.bookmarks.create(
bookmark: CreateDetails,
callback?: function,
)
Erstellt ein Lesezeichen oder einen Ordner unter der angegebenen übergeordneten ID. Wenn die URL NULL ist oder fehlt, ist sie ein Ordner.
Parameter
-
Lesezeichen
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(result: BookmarkTreeNode) => void
-
Ergebnis
-
Rückgabe
-
Promise<BookmarkTreeNode>
Chrome 90 oder höherPromise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.
get()
chrome.bookmarks.get(
idOrIdList: string | [string, ...string[]],
callback?: function,
)
Ruft die angegebenen LesezeichenTreeNode(s) ab.
Parameter
-
idOrIdList
Zeichenfolge | [String, ...String[]]
Eine einzelne Stringwert-ID oder ein Array von Stringwert-IDs
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(results: BookmarkTreeNode[]) => void
-
Ergebnisse
-
Rückgabe
-
Promise<BookmarkTreeNode[]>
Chrome 90 oder höherPromise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.
getChildren()
chrome.bookmarks.getChildren(
id: string,
callback?: function,
)
Ruft die untergeordneten Elemente der angegebenen LesezeichenTreeNode-ID ab.
Parameter
-
id
String
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(results: BookmarkTreeNode[]) => void
-
Ergebnisse
-
Rückgabe
-
Promise<BookmarkTreeNode[]>
Chrome 90 oder höherPromise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.
getRecent()
chrome.bookmarks.getRecent(
numberOfItems: number,
callback?: function,
)
Ruft die zuletzt hinzugefügten Lesezeichen ab.
Parameter
-
numberOfItems
Zahl
Die maximale Anzahl der Elemente, die zurückzugeben sind.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(results: BookmarkTreeNode[]) => void
-
Ergebnisse
-
Rückgabe
-
Promise<BookmarkTreeNode[]>
Chrome 90 oder höherPromise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.
getSubTree()
chrome.bookmarks.getSubTree(
id: string,
callback?: function,
)
Ruft einen Teil der Lesezeichenhierarchie ab dem angegebenen Knoten ab.
Parameter
-
id
String
Die ID des Stamms der Unterstruktur, die abgerufen werden soll.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(results: BookmarkTreeNode[]) => void
-
Ergebnisse
-
Rückgabe
-
Promise<BookmarkTreeNode[]>
Chrome 90 oder höherPromise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.
getTree()
chrome.bookmarks.getTree(
callback?: function,
)
Ruft die gesamte Lesezeichenhierarchie ab.
Parameter
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(results: BookmarkTreeNode[]) => void
-
Ergebnisse
-
Rückgabe
-
Promise<BookmarkTreeNode[]>
Chrome 90 oder höherPromise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.
move()
chrome.bookmarks.move(
id: string,
destination: object,
callback?: function,
)
Verschiebt den angegebenen LesezeichenTreeNode an den angegebenen Ort.
Parameter
-
id
String
-
Ziel
Objekt
-
Index
Nummer optional
-
parentId
String optional
-
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(result: BookmarkTreeNode) => void
-
Ergebnis
-
Rückgabe
-
Promise<BookmarkTreeNode>
Chrome 90 oder höherPromise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.
remove()
chrome.bookmarks.remove(
id: string,
callback?: function,
)
Entfernt ein Lesezeichen oder einen leeren Lesezeichenordner.
Parameter
-
id
String
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Rückgabe
-
Promise<void>
Chrome 90 oder höherPromise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.
removeTree()
chrome.bookmarks.removeTree(
id: string,
callback?: function,
)
Entfernt einen Lesezeichenordner rekursiv.
Parameter
-
id
String
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:() => void
Rückgabe
-
Promise<void>
Chrome 90 oder höherPromise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.
search()
chrome.bookmarks.search(
query: string | object,
callback?: function,
)
Sucht nach LesezeichenTreeNodes, die der angegebenen Abfrage entsprechen. Abfragen, die mit einem Objekt angegeben werden, erzeugen LesezeichenTreeNodes, die mit allen angegebenen Eigenschaften übereinstimmen.
Parameter
-
Abfrage
String | Objekt
Entweder ein String aus Wörtern und Wortgruppen in Anführungszeichen, die mit Lesezeichen-URLs und -titeln abgeglichen werden, oder ein Objekt. Wenn ein Objekt angegeben wird, können die Eigenschaften
query
,url
undtitle
angegeben werden. Es werden Lesezeichen erstellt, die mit allen angegebenen Eigenschaften übereinstimmen.-
Abfrage
String optional
Ein String aus Wörtern und Wortgruppen in Anführungszeichen, die mit Lesezeichen-URLs und -titeln abgeglichen werden.
-
Titel
String optional
Der Titel des Lesezeichens; entspricht wörtlich.
-
url
String optional
Die URL des Lesezeichens; entspricht wörtlich. Beachten Sie, dass Ordner keine URL haben.
-
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(results: BookmarkTreeNode[]) => void
-
Ergebnisse
-
Rückgabe
-
Promise<BookmarkTreeNode[]>
Chrome 90 oder höherPromise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.
update()
chrome.bookmarks.update(
id: string,
changes: object,
callback?: function,
)
Aktualisiert die Eigenschaften eines Lesezeichens oder Ordners. Geben Sie nur die Eigenschaften an, die Sie ändern möchten. Nicht angegebene Eigenschaften werden nicht geändert. Hinweis:Derzeit werden nur „title“ und „url“ unterstützt.
Parameter
-
id
String
-
Änderungen
Objekt
-
Titel
String optional
-
url
String optional
-
-
callback
Funktion optional
Der Parameter
callback
sieht so aus:(result: BookmarkTreeNode) => void
-
Ergebnis
-
Rückgabe
-
Promise<BookmarkTreeNode>
Chrome 90 oder höherPromise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt. Sie können nicht beide in einem Funktionsaufruf verwenden. Das Promise wird mit demselben Typ aufgelöst, der an den Callback übergeben wird.
Veranstaltungen
onChanged
chrome.bookmarks.onChanged.addListener(
callback: function,
)
Wird ausgelöst, wenn sich ein Lesezeichen oder Ordner ändert Hinweis:Derzeit wird dies nur durch Änderungen am Titel und an der URL ausgelöst.
Parameter
-
callback
Funktion
Der Parameter
callback
sieht so aus:(id: string, changeInfo: object) => void
-
id
String
-
changeInfo
Objekt
-
Titel
String
-
url
String optional
-
-
onChildrenReordered
chrome.bookmarks.onChildrenReordered.addListener(
callback: function,
)
Wird ausgelöst, wenn die Reihenfolge der untergeordneten Elemente eines Ordners aufgrund der in der Benutzeroberfläche sortierten Reihenfolge geändert wurde. Dies wird nicht als Ergebnis von „move()“ aufgerufen.
Parameter
-
callback
Funktion
Der Parameter
callback
sieht so aus:(id: string, reorderInfo: object) => void
-
id
String
-
reorderInfo
Objekt
-
childIds
String[]
-
-
onCreated
chrome.bookmarks.onCreated.addListener(
callback: function,
)
Wird ausgelöst, wenn ein Lesezeichen oder ein Ordner erstellt wird
Parameter
-
callback
Funktion
Der Parameter
callback
sieht so aus:(id: string, bookmark: BookmarkTreeNode) => void
-
id
String
-
Lesezeichen
-
onImportBegan
chrome.bookmarks.onImportBegan.addListener(
callback: function,
)
Wird ausgelöst, wenn eine Sitzung für den Lesezeichenimport gestartet wird Teure Beobachter sollten onCreated-Aktualisierungen ignorieren, bis onImportEnded ausgelöst wird. Beobachter sollten weiterhin andere Benachrichtigungen sofort bearbeiten.
Parameter
-
callback
Funktion
Der Parameter
callback
sieht so aus:() => void
onImportEnded
chrome.bookmarks.onImportEnded.addListener(
callback: function,
)
Wird ausgelöst, wenn eine Sitzung zum Importieren von Lesezeichen beendet wird
Parameter
-
callback
Funktion
Der Parameter
callback
sieht so aus:() => void
onMoved
chrome.bookmarks.onMoved.addListener(
callback: function,
)
Wird ausgelöst, wenn ein Lesezeichen oder ein Ordner in einen anderen übergeordneten Ordner verschoben wird
Parameter
-
callback
Funktion
Der Parameter
callback
sieht so aus:(id: string, moveInfo: object) => void
-
id
String
-
moveInfo
Objekt
-
Index
Zahl
-
oldIndex
Zahl
-
oldParentId
String
-
parentId
String
-
-
onRemoved
chrome.bookmarks.onRemoved.addListener(
callback: function,
)
Wird ausgelöst, wenn ein Lesezeichen oder ein Ordner entfernt wird Wenn ein Ordner rekursiv entfernt wird, wird nur eine einzige Benachrichtigung für den Ordner ausgelöst, keine für seinen Inhalt.
Parameter
-
callback
Funktion
Der Parameter
callback
sieht so aus:(id: string, removeInfo: object) => void
-
id
String
-
removeInfo
Objekt
-
Index
Zahl
-
KnotenChrome 48 und höher
-
parentId
String
-
-