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 für den Lesezeichenmanager erstellen.
Berechtigungen
bookmarksSie müssen die Berechtigung „bookmarks“ im Erweiterungsmanifest deklarieren, um die Bookmarks API verwenden zu können. Beispiel:
{
"name": "My extension",
...
"permissions": [
"bookmarks"
],
...
}
Konzepte und Verwendung
Objekte und Eigenschaften
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 bookmarks.BookmarkTreeNode-Objekt dargestellt.
BookmarkTreeNode-Eigenschaften werden in der gesamten browser.bookmarks API verwendet. Wenn Sie beispielsweise bookmarks.create aufrufen, übergeben Sie das übergeordnete Element des neuen Knotens (parentId) und optional die Attribute index, title und url des Knotens. Informationen zu den Attributen, die ein Knoten haben kann, finden Sie unter bookmarks.BookmarkTreeNode.
Beispiele
Mit dem folgenden Code wird ein Ordner mit dem Titel „Erweiterungslesezeichen“ erstellt. Das erste Argument für 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.
browser.bookmarks.create(
{'parentId': bookmarkBar.id, 'title': 'Extension bookmarks'},
function(newFolder) {
console.log("added folder: " + newFolder.title);
},
);
Im nächsten Snippet wird ein Lesezeichen erstellt, das auf die Entwicklerdokumentation für Erweiterungen verweist. Da nichts Schlimmes passiert, wenn das Erstellen des Lesezeichens fehlschlägt, wird in diesem Code keine Callback-Funktion definiert.
browser.bookmarks.create({
'parentId': extensionsFolderId,
'title': 'Extensions doc',
'url': 'https://developer.chrome.com/docs/extensions',
});
Wenn Sie diese API ausprobieren möchten, installieren Sie das Beispiel für die Bookmarks API aus dem Repository chrome-extension-samples.
Typen
BookmarkTreeNode
Ein Knoten (entweder ein Lesezeichen oder ein Ordner) in der Lesezeichenstruktur. Untergeordnete Knoten werden innerhalb ihres übergeordneten Ordners sortiert.
Attribute
-
Kinder
BookmarkTreeNode[] optional
Eine sortierte Liste der untergeordneten Elemente dieses Knotens.
-
dateAdded
number optional
Der Zeitpunkt, zu dem dieser Knoten erstellt wurde, in Millisekunden seit der Epoche (
new Date(dateAdded)). -
dateGroupModified
number optional
Wann der Inhalt dieses Ordners zuletzt geändert wurde, in Millisekunden seit der Epoche.
-
dateLastUsed
number optional
Chrome 114 und höher browser.* seit Chrome 148Wann dieser Knoten zuletzt geöffnet wurde, in Millisekunden seit der Epoche. Nicht für Ordner festgelegt.
-
folderType
FolderType optional
Chrome 134+ browser.* seit Chrome 148Falls vorhanden, ist dies ein Ordner, der vom Browser hinzugefügt wird und nicht vom Nutzer oder der Erweiterung geändert werden kann. Untergeordnete Knoten können geändert werden, wenn für diesen Knoten das Attribut
unmodifiablenicht festgelegt ist. Wird weggelassen, wenn der Knoten vom Nutzer und der Erweiterung geändert werden kann (Standard).Es kann null, einen oder mehrere Knoten jedes Ordnertyps geben. Ein Ordner kann vom Browser hinzugefügt oder entfernt werden, aber nicht über die Erweiterungs-API.
-
id
String
Die eindeutige Kennung für den Knoten. IDs sind innerhalb des aktuellen Profils eindeutig und bleiben auch nach dem Neustart des Browsers gültig.
-
Index
number optional
Die nullbasierte Position dieses Knotens innerhalb seines übergeordneten Ordners.
-
parentId
String optional
Die
iddes übergeordneten Ordners. Wird für den Stammknoten weggelassen. -
Wird synchronisiert
boolean
Chrome 134+ browser.* seit Chrome 148Gibt an, ob dieser Knoten vom Browser mit dem Remote-Kontospeicherplatz des Nutzers synchronisiert wird. Damit kann zwischen Konto- und lokalen Versionen desselben
FolderTypeunterschieden werden. Der Wert dieser Eigenschaft kann sich für einen vorhandenen Knoten ändern, z. B. als Folge einer Nutzeraktion.Hinweis: Hier wird angegeben, ob der Knoten im integrierten Kontoanbieter des Browsers gespeichert ist. Es ist möglich, dass ein Knoten über einen Drittanbieter synchronisiert wird, auch wenn dieser Wert „false“ ist.
Bei verwalteten Knoten (Knoten, bei denen
unmodifiableauftruegesetzt ist) ist dieses Attribut immerfalse. -
Titel
String
Der für den Knoten angezeigte Text.
-
unmodifiable
"managed"
optionalGibt den Grund an, warum dieser Knoten nicht geändert werden kann. Der Wert
managedgibt an, dass dieser Knoten vom Systemadministrator oder vom Erziehungsberechtigten eines Nutzers mit Elternaufsicht konfiguriert wurde. Wird weggelassen, wenn der Knoten vom Nutzer und der Erweiterung geändert werden kann (Standard). -
URL
String optional
Die URL, die aufgerufen wird, wenn ein Nutzer auf das Lesezeichen klickt. Wird für Ordner weggelassen.
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. Wird weggelassen, wenn der Knoten vom Nutzer und der Erweiterung geändert werden kann (Standard).
Wert
"managed"
CreateDetails
Objekt, das an die Funktion „create()“ übergeben wird.
Attribute
-
Index
number optional
-
parentId
String optional
Standardmäßig ist der Ordner „Weitere Lesezeichen“ ausgewählt.
-
Titel
String optional
-
URL
String optional
FolderType
Gibt den Ordnertyp an.
Enum
„bookmarks-bar“
Der Ordner, dessen Inhalt oben im Browserfenster angezeigt wird.
"other"
Lesezeichen, die auf allen Plattformen in der vollständigen Liste der Lesezeichen angezeigt werden.
"mobile"
Lesezeichen, die auf den Mobilgeräten des Nutzers allgemein verfügbar sind, aber über eine Erweiterung oder im Lesezeichenmanager geändert werden können.
„managed“
Ein Ordner auf oberster Ebene, der vorhanden sein kann, wenn der Systemadministrator oder der Erziehungsberechtigte eines Nutzers mit Elternaufsicht Lesezeichen konfiguriert hat.
Attribute
MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE
Schreibvorgänge für Lesezeichen werden von Chrome nicht mehr eingeschränkt.
Wert
1000000
MAX_WRITE_OPERATIONS_PER_HOUR
Schreibvorgänge für Lesezeichen werden von Chrome nicht mehr eingeschränkt.
Wert
1000000
ROOT_NODE_ID
Die id, die dem Knoten auf Stammebene zugeordnet ist.
Wert
"0"
Methoden
create()
browser.bookmarks.create(
bookmark: CreateDetails,
): Promise<BookmarkTreeNode>
Erstellt ein Lesezeichen oder einen Ordner unter der angegebenen „parentId“. Wenn „url“ NULL ist oder fehlt, handelt es sich um einen Ordner.
Parameter
-
Lesezeichen
Ausgabe
-
Promise<BookmarkTreeNode>
Chrome 90 und höher browser.* seit Chrome 148
get()
browser.bookmarks.get(
idOrIdList: string | [string, ...string[]],
): Promise<BookmarkTreeNode[]>
Ruft die angegebenen BookmarkTreeNodes ab.
Parameter
-
idOrIdList
string | [string, ...string[]]
Eine einzelne String-ID oder ein Array von String-IDs
Ausgabe
-
Promise<BookmarkTreeNode[]>
Chrome 90 und höher browser.* seit Chrome 148
getChildren()
browser.bookmarks.getChildren(
id: string,
): Promise<BookmarkTreeNode[]>
Ruft die untergeordneten Elemente der angegebenen BookmarkTreeNode-ID ab.
Parameter
-
id
String
Ausgabe
-
Promise<BookmarkTreeNode[]>
Chrome 90 und höher browser.* seit Chrome 148
getRecent()
browser.bookmarks.getRecent(
numberOfItems: number,
): Promise<BookmarkTreeNode[]>
Ruft die zuletzt hinzugefügten Lesezeichen ab.
Parameter
-
numberOfItems
Zahl
Die maximale Anzahl der Elemente, die zurückgegeben werden sollen.
Ausgabe
-
Promise<BookmarkTreeNode[]>
Chrome 90 und höher browser.* seit Chrome 148
getSubTree()
browser.bookmarks.getSubTree(
id: string,
): Promise<BookmarkTreeNode[]>
Ruft einen Teil der Lesezeichenhierarchie ab, beginnend am angegebenen Knoten.
Parameter
-
id
String
Die ID des Stamms des abzurufenden Unterbaums.
Ausgabe
-
Promise<BookmarkTreeNode[]>
Chrome 90 und höher browser.* seit Chrome 148
getTree()
browser.bookmarks.getTree(): Promise<BookmarkTreeNode[]>
Ruft die gesamte Lesezeichenhierarchie ab.
Ausgabe
-
Promise<BookmarkTreeNode[]>
Chrome 90 und höher browser.* seit Chrome 148
move()
browser.bookmarks.move(
id: string,
destination: object,
): Promise<BookmarkTreeNode>
Verschiebt den angegebenen BookmarkTreeNode an die angegebene Position.
Parameter
-
id
String
-
Ziel
Objekt
-
Index
number optional
-
parentId
String optional
-
Ausgabe
-
Promise<BookmarkTreeNode>
Chrome 90 und höher browser.* seit Chrome 148
remove()
browser.bookmarks.remove(
id: string,
): Promise<void>
Entfernt ein Lesezeichen oder einen leeren Lesezeichenordner.
Parameter
-
id
String
Ausgabe
-
Promise<void>
Chrome 90 und höher browser.* seit Chrome 148
removeTree()
browser.bookmarks.removeTree(
id: string,
): Promise<void>
Entfernt einen Lesezeichenordner rekursiv.
Parameter
-
id
String
Ausgabe
-
Promise<void>
Chrome 90 und höher browser.* seit Chrome 148
search()
browser.bookmarks.search(
query: string | object,
): Promise<BookmarkTreeNode[]>
Sucht nach BookmarkTreeNodes, die der angegebenen Abfrage entsprechen. Abfragen, die mit einem Objekt angegeben werden, erzeugen BookmarkTreeNodes, die mit allen angegebenen Eigenschaften übereinstimmen.
Parameter
-
Abfrage
string | object
Entweder ein String aus Wörtern und in Anführungszeichen gesetzten Wortgruppen, die mit Lesezeichen-URLs und ‑Titeln abgeglichen werden, oder ein Objekt. Wenn es sich um ein Objekt handelt, können die Attribute
query,urlundtitleangegeben werden. Es werden dann Lesezeichen erstellt, die allen angegebenen Attributen entsprechen.-
Abfrage
String optional
Eine Reihe von Wörtern und Wortgruppen in Anführungszeichen, die mit Lesezeichen-URLs und ‑Titeln abgeglichen werden.
-
Titel
String optional
Der Titel des Lesezeichens; stimmt genau überein.
-
URL
String optional
Die URL des Lesezeichens; stimmt genau überein. Ordner haben keine URL.
-
Ausgabe
-
Promise<BookmarkTreeNode[]>
Chrome 90 und höher browser.* seit Chrome 148
update()
browser.bookmarks.update(
id: string,
changes: object,
): Promise<BookmarkTreeNode>
Aktualisiert die Eigenschaften eines Lesezeichens oder Ordners. Geben Sie nur die Properties an, die Sie ändern möchten. Nicht angegebene Properties bleiben unverändert. Hinweis: Derzeit werden nur „title“ und „url“ unterstützt.
Parameter
-
id
String
-
Änderungen
Objekt
-
Titel
String optional
-
URL
String optional
-
Ausgabe
-
Promise<BookmarkTreeNode>
Chrome 90 und höher browser.* seit Chrome 148
Ereignisse
onChanged
browser.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
callbacksieht so aus:(id: string, changeInfo: object) => void
-
id
String
-
changeInfo
Objekt
-
Titel
String
-
URL
String optional
-
-
onChildrenReordered
browser.bookmarks.onChildrenReordered.addListener(
callback: function,
)
Wird ausgelöst, wenn sich die Reihenfolge der untergeordneten Elemente eines Ordners geändert hat, weil die Reihenfolge in der Benutzeroberfläche sortiert wurde. Diese Methode wird nicht als Ergebnis von move() aufgerufen.
Parameter
-
callback
Funktion
Der Parameter
callbacksieht so aus:(id: string, reorderInfo: object) => void
-
id
String
-
reorderInfo
Objekt
-
childIds
String[]
-
-
onCreated
browser.bookmarks.onCreated.addListener(
callback: function,
)
Wird ausgelöst, wenn ein Lesezeichen oder Ordner erstellt wird.
Parameter
-
callback
Funktion
Der Parameter
callbacksieht so aus:(id: string, bookmark: BookmarkTreeNode) => void
-
id
String
-
Lesezeichen
-
onImportBegan
browser.bookmarks.onImportBegan.addListener(
callback: function,
)
Wird ausgelöst, wenn eine Sitzung zum Importieren von Lesezeichen gestartet wird. Aufwendige Beobachter sollten „onCreated“-Updates ignorieren, bis „onImportEnded“ ausgelöst wird. Beobachter sollten andere Benachrichtigungen weiterhin sofort bearbeiten.
Parameter
-
callback
Funktion
Der Parameter
callbacksieht so aus:() => void
onImportEnded
browser.bookmarks.onImportEnded.addListener(
callback: function,
)
Wird ausgelöst, wenn eine Sitzung zum Importieren von Lesezeichen beendet wird.
Parameter
-
callback
Funktion
Der Parameter
callbacksieht so aus:() => void
onMoved
browser.bookmarks.onMoved.addListener(
callback: function,
)
Wird ausgelöst, wenn ein Lesezeichen oder Ordner in einen anderen übergeordneten Ordner verschoben wird.
Parameter
-
callback
Funktion
Der Parameter
callbacksieht so aus:(id: string, moveInfo: object) => void
-
id
String
-
moveInfo
Objekt
-
Index
Zahl
-
oldIndex
Zahl
-
oldParentId
String
-
parentId
String
-
-
onRemoved
browser.bookmarks.onRemoved.addListener(
callback: function,
)
Wird ausgelöst, wenn ein Lesezeichen oder Ordner entfernt wird. Wenn ein Ordner rekursiv entfernt wird, wird eine einzelne Benachrichtigung für den Ordner ausgelöst, aber keine für seinen Inhalt.
Parameter
-
callback
Funktion
Der Parameter
callbacksieht so aus:(id: string, removeInfo: object) => void
-
id
String
-
removeInfo
Objekt
-
Index
Zahl
-
KnotenChrome 48 oder höher browser.* seit Chrome 148
-
parentId
String
-
-