Beschreibung
Mit der chrome.bookmarks
API können Sie Lesezeichen erstellen, organisieren und anderweitig bearbeiten. Weitere Informationen finden Sie unter Überschreibungsseiten. Dort erfahren Sie, wie Sie eine benutzerdefinierte Seite für den Lesezeichenmanager erstellen.
Berechtigungen
bookmarks
Sie müssen die Berechtigung „bookmarks“ im Manifest der Erweiterung angeben, um die Bookmarks API verwenden zu können. Beispiel:
{
"name": "My extension",
...
"permissions": [
"bookmarks"
],
...
}
Konzepte und Verwendung
Objekte und Unterkünfte
Lesezeichen sind in einem Baum organisiert, wobei jeder Knoten im Baum entweder ein Lesezeichen oder ein Ordner (manchmal auch Gruppe genannt) ist. Jeder Knoten im Baum wird durch ein bookmarks.BookmarkTreeNode-Objekt dargestellt.
BookmarkTreeNode
-Properties werden in der gesamten chrome.bookmarks
API verwendet. Wenn Sie beispielsweise bookmarks.create aufrufen, geben Sie das übergeordnete Element (parentId
) des neuen Knotens und optional die Eigenschaften index
, title
und url
des Knotens an. 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 für create()
gibt Eigenschaften 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);
},
);
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 Rückruffunktion definiert.
chrome.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) im Lesezeichenbaum. Untergeordnete Knoten werden innerhalb ihres übergeordneten Ordners angeordnet.
Attribute
-
Kinder
BookmarkTreeNode[] optional
Eine sortierte Liste der untergeordneten Elemente dieses Knotens.
-
dateAdded
number optional
Wann dieser Knoten erstellt wurde, in Millisekunden seit der Epoche (
new Date(dateAdded)
). -
dateGroupModified
number optional
Wann sich der Inhalt dieses Ordners zuletzt geändert hat, in Millisekunden seit der Epoche.
-
dateLastUsed
number 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 dem Neustart des Browsers gültig.
-
Index
number optional
Die Position dieses Knotens im übergeordneten Ordner (ab 0).
-
parentId
String optional
Die
id
des übergeordneten Ordners. Für den Stammknoten wird kein Wert angegeben. -
Titel
String
Der für den Knoten angezeigte Text.
-
nicht veränderbar
„managed“
optionalGibt an, warum dieser Knoten nicht geändert werden kann. Der Wert
managed
gibt an, dass dieser Knoten vom Systemadministrator oder vom Erziehungsberechtigten eines betreuten Nutzers konfiguriert wurde. Wird weggelassen, wenn der Knoten vom Nutzer und der Erweiterung geändert werden kann (Standard). -
URL
String optional
Die URL, zu der der Nutzer weitergeleitet wird, wenn er auf das Lesezeichen klickt. Für Ordner wird dieser Wert nicht angezeigt.
BookmarkTreeNodeUnmodifiable
Gibt 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
„verwaltet“
CreateDetails
Objekt, das an die create()-Funktion übergeben wird.
Attribute
-
Index
number optional
-
parentId
String optional
Standardmäßig ist der Ordner „Sonstige Lesezeichen“ ausgewählt.
-
Titel
String optional
-
URL
String optional
Attribute
MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE
Schreibvorgänge für Lesezeichen werden nicht mehr von Chrome eingeschränkt.
Wert
1000000
MAX_WRITE_OPERATIONS_PER_HOUR
Schreibvorgänge für Lesezeichen werden nicht mehr von Chrome eingeschränkt.
Wert
1000000
Methoden
create()
chrome.bookmarks.create(
bookmark: CreateDetails,
callback?: function,
)
Erstellt ein Lesezeichen oder einen Ordner unter der angegebenen übergeordneten ID. Wenn „url“ NULL ist oder fehlt, handelt es sich um einen Ordner.
Parameter
-
Lesezeichen
-
callback
function optional
Der Parameter
callback
sieht so aus:(result: BookmarkTreeNode) => void
-
Ergebnis
-
Gibt Folgendes zurück:
-
Promise<BookmarkTreeNode>
Chrome 90 und höherVersprechen werden in Manifest V3 und höher unterstützt, aber Callbacks sind für die Abwärtskompatibilität verfügbar. Sie können nicht beide für denselben Funktionsaufruf verwenden. Das Versprechen wird mit demselben Typ aufgelöst, der an den Rückruf übergeben wird.
get()
chrome.bookmarks.get(
idOrIdList: string | [string, ...string[]],
callback?: function,
)
Ruft die angegebenen BookmarkTreeNode(s) ab.
Parameter
-
idOrIdList
String | [String, ...String[]]
Eine einzelne ID mit Stringwert oder ein Array von IDs mit Stringwert
-
callback
function optional
Der Parameter
callback
sieht so aus:(results: BookmarkTreeNode[]) => void
-
Ergebnisse
-
Gibt Folgendes zurück:
-
Promise<BookmarkTreeNode[]>
Chrome 90 und höherVersprechen werden in Manifest V3 und höher unterstützt, aber Callbacks sind für die Abwärtskompatibilität verfügbar. Sie können nicht beide für denselben Funktionsaufruf verwenden. Das Versprechen wird mit demselben Typ aufgelöst, der an den Rückruf übergeben wird.
getChildren()
chrome.bookmarks.getChildren(
id: string,
callback?: function,
)
Ruft die untergeordneten Elemente der angegebenen BookmarkTreeNode-ID ab.
Parameter
-
id
String
-
callback
function optional
Der Parameter
callback
sieht so aus:(results: BookmarkTreeNode[]) => void
-
Ergebnisse
-
Gibt Folgendes zurück:
-
Promise<BookmarkTreeNode[]>
Chrome 90 und höherVersprechen werden in Manifest V3 und höher unterstützt, aber Callbacks sind für die Abwärtskompatibilität verfügbar. Sie können nicht beide für denselben Funktionsaufruf verwenden. Das Versprechen wird mit demselben Typ aufgelöst, der an den Rückruf ü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
function optional
Der Parameter
callback
sieht so aus:(results: BookmarkTreeNode[]) => void
-
Ergebnisse
-
Gibt Folgendes zurück:
-
Promise<BookmarkTreeNode[]>
Chrome 90 und höherVersprechen werden in Manifest V3 und höher unterstützt, aber Callbacks sind für die Abwärtskompatibilität verfügbar. Sie können nicht beide für denselben Funktionsaufruf verwenden. Das Versprechen wird mit demselben Typ aufgelöst, der an den Rückruf übergeben wird.
getSubTree()
chrome.bookmarks.getSubTree(
id: string,
callback?: function,
)
Ruft einen Teil der Lesezeichenhierarchie ab, beginnend mit dem angegebenen Knoten.
Parameter
-
id
String
Die ID des Stammknotens des zu abrufenden untergeordneten Knotens.
-
callback
function optional
Der Parameter
callback
sieht so aus:(results: BookmarkTreeNode[]) => void
-
Ergebnisse
-
Gibt Folgendes zurück:
-
Promise<BookmarkTreeNode[]>
Chrome 90 und höherVersprechen werden in Manifest V3 und höher unterstützt, aber Callbacks sind für die Abwärtskompatibilität verfügbar. Sie können nicht beide für denselben Funktionsaufruf verwenden. Das Versprechen wird mit demselben Typ aufgelöst, der an den Rückruf übergeben wird.
getTree()
chrome.bookmarks.getTree(
callback?: function,
)
Ruft die gesamte Lesezeichenhierarchie ab.
Parameter
-
callback
function optional
Der Parameter
callback
sieht so aus:(results: BookmarkTreeNode[]) => void
-
Ergebnisse
-
Gibt Folgendes zurück:
-
Promise<BookmarkTreeNode[]>
Chrome 90 und höherVersprechen werden in Manifest V3 und höher unterstützt, aber Callbacks sind für die Abwärtskompatibilität verfügbar. Sie können nicht beide für denselben Funktionsaufruf verwenden. Das Versprechen wird mit demselben Typ aufgelöst, der an den Rückruf übergeben wird.
move()
chrome.bookmarks.move(
id: string,
destination: object,
callback?: function,
)
Verschiebt den angegebenen BookmarkTreeNode an den angegebenen Speicherort.
Parameter
-
id
String
-
Ziel
Objekt
-
Index
number optional
-
parentId
String optional
-
-
callback
function optional
Der Parameter
callback
sieht so aus:(result: BookmarkTreeNode) => void
-
Ergebnis
-
Gibt Folgendes zurück:
-
Promise<BookmarkTreeNode>
Chrome 90 und höherVersprechen werden in Manifest V3 und höher unterstützt, aber Callbacks sind für die Abwärtskompatibilität verfügbar. Sie können nicht beide für denselben Funktionsaufruf verwenden. Das Versprechen wird mit demselben Typ aufgelöst, der an den Rückruf übergeben wird.
remove()
chrome.bookmarks.remove(
id: string,
callback?: function,
)
Entfernt ein Lesezeichen oder einen leeren Lesezeichenordner.
Parameter
-
id
String
-
callback
function optional
Der Parameter
callback
sieht so aus:() => void
Gibt Folgendes zurück:
-
Promise<void>
Chrome 90 und höherVersprechen werden in Manifest V3 und höher unterstützt, aber Callbacks sind für die Abwärtskompatibilität verfügbar. Sie können nicht beide für denselben Funktionsaufruf verwenden. Das Versprechen wird mit demselben Typ aufgelöst, der an den Rückruf übergeben wird.
removeTree()
chrome.bookmarks.removeTree(
id: string,
callback?: function,
)
Entfernt einen Lesezeichenordner rekursiv.
Parameter
-
id
String
-
callback
function optional
Der Parameter
callback
sieht so aus:() => void
Gibt Folgendes zurück:
-
Promise<void>
Chrome 90 und höherVersprechen werden in Manifest V3 und höher unterstützt, aber Callbacks sind für die Abwärtskompatibilität verfügbar. Sie können nicht beide für denselben Funktionsaufruf verwenden. Das Versprechen wird mit demselben Typ aufgelöst, der an den Rückruf übergeben wird.
search()
chrome.bookmarks.search(
query: string | object,
callback?: function,
)
Es wird nach BookmarkTreeNodes gesucht, die mit der angegebenen Abfrage übereinstimmen. Abfragen, die mit einem Objekt angegeben werden, führen zu BookmarkTreeNodes, die mit allen angegebenen Properties übereinstimmen.
Parameter
-
Abfrage
String | Objekt
Entweder ein String aus Wörtern und zitierten Wortgruppen, der mit den URLs und Titeln von Lesezeichen abgeglichen wird, oder ein Objekt. Bei einem Objekt können die Eigenschaften
query
,url
undtitle
angegeben werden. Es werden dann Lesezeichen erstellt, die allen angegebenen Eigenschaften entsprechen.-
Abfrage
String optional
Ein String aus Wörtern und zitierten Wortgruppen, der mit Lesezeichen-URLs und -Titeln abgeglichen wird.
-
Titel
String optional
Der Titel des Lesezeichens; muss genau mit dem Titel übereinstimmen.
-
URL
String optional
Die URL des Lesezeichens; Wort für Wort abgeglichen. Ordner haben keine URL.
-
-
callback
function optional
Der Parameter
callback
sieht so aus:(results: BookmarkTreeNode[]) => void
-
Ergebnisse
-
Gibt Folgendes zurück:
-
Promise<BookmarkTreeNode[]>
Chrome 90 und höherVersprechen werden in Manifest V3 und höher unterstützt, aber Callbacks sind für die Abwärtskompatibilität verfügbar. Sie können nicht beide für denselben Funktionsaufruf verwenden. Das Versprechen wird mit demselben Typ aufgelöst, der an den Rückruf ü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 bleiben unverändert. Hinweis:Derzeit werden nur „title“ und „url“ unterstützt.
Parameter
-
id
String
-
Änderungen
Objekt
-
Titel
String optional
-
URL
String optional
-
-
callback
function optional
Der Parameter
callback
sieht so aus:(result: BookmarkTreeNode) => void
-
Ergebnis
-
Gibt Folgendes zurück:
-
Promise<BookmarkTreeNode>
Chrome 90 und höherVersprechen werden in Manifest V3 und höher unterstützt, aber Callbacks sind für die Abwärtskompatibilität verfügbar. Sie können nicht beide für denselben Funktionsaufruf verwenden. Das Versprechen wird mit demselben Typ aufgelöst, der an den Rückruf übergeben wird.
Ereignisse
onChanged
chrome.bookmarks.onChanged.addListener(
callback: function,
)
Wird ausgelöst, wenn sich ein Lesezeichen oder Ordner ändert. Hinweis:Derzeit werden nur Änderungen am Titel und an der URL berücksichtigt.
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 sich die Reihenfolge der untergeordneten Elemente eines Ordners geändert hat, weil die Reihenfolge in der Benutzeroberfläche sortiert wurde. Diese Funktion wird nicht als Folge einer move()-Funktion 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 zum Importieren von Lesezeichen gestartet wird. Teure Beobachter sollten Aktualisierungen von „onCreated“ ignorieren, bis „onImportEnded“ ausgelöst wird. Beobachter sollten andere Benachrichtigungen jedoch weiterhin 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 Benachrichtigung für den Ordner ausgelöst, aber keine für den 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
-
-