Diese Berechtigung löst eine Warnung aus.
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 die Lesezeichenverwaltung erstellen.
Berechtigungen
bookmarks
Manifest
Sie müssen die Berechtigung „Lesezeichen“ im Erweiterungsmanifest deklarieren, um die Bookmarks API zu verwenden. Beispiel:
{
  "name": "My extension",
  ...
  "permissions": [
    "bookmarks"
  ],
  ...
}
Objekte und Attribute
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-Attribute werden in der gesamten chrome.bookmarks API verwendet. Wenn Sie beispielsweise bookmarks.create aufrufen, übergeben Sie den übergeordneten Knoten des neuen Knotens (parentId) und optional die Eigenschaften index, title und url des Knotens. Informationen zu den Eigenschaften, die ein Knoten haben kann, finden Sie unter bookmarks.BookmarkTreeNode.
Beispiele
Mit dem folgenden Code wird ein Ordner mit dem Titel „Lesezeichen für Erweiterungen“ 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 Callback-Funktion 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 Bookmarks API-Beispiel aus dem Repository chrome-extension-samples.
Typen
BookmarkTreeNode
Ein Knoten (entweder ein Lesezeichen oder ein Ordner) in der Lesezeichenstruktur. Untergeordnete Knoten werden innerhalb des übergeordneten Ordners sortiert.
Attribute
- 
    KinderBookmarkTreeNode[] optional Eine sortierte Liste der untergeordneten Elemente dieses Knotens. 
- 
    dateAddednumber optional Der Zeitpunkt, zu dem dieser Knoten erstellt wurde, in Millisekunden seit der Epoche ( new Date(dateAdded)).
- 
    dateGroupModifiednumber optional Zeitpunkt der letzten Änderung des Inhalts dieses Ordners in Millisekunden seit der Epoche. 
- 
    dateLastUsednumber optional Chrome 114 und höherWann dieser Knoten zuletzt geöffnet wurde, in Millisekunden seit der Epoche. Nicht für Ordner festgelegt. 
- 
    folderTypeFolderType optional Chrome 134 und höherFalls vorhanden, ist dies ein Ordner, der vom Browser hinzugefügt wird und der vom Nutzer oder der Erweiterung nicht geändert werden kann. Untergeordnete Knoten können geändert werden, wenn für diesen Knoten das Attribut unmodifiablenicht festgelegt ist. Wird ausgelassen, wenn der Knoten vom Nutzer und der Erweiterung geändert werden kann (Standard).Es kann null, einen oder mehrere Knoten jedes Ordner-Typs geben. Ein Ordner kann vom Browser hinzugefügt oder entfernt werden, aber nicht über die Extensions API. 
- 
    idString Die eindeutige Kennung für den Knoten. IDs sind innerhalb des aktuellen Profils eindeutig und bleiben auch nach dem Neustart des Browsers gültig. 
- 
    Indexnumber optional Die nullbasierte Position dieses Knotens im übergeordneten Ordner. 
- 
    parentIdString optional Die iddes übergeordneten Ordners. Wird für den Root-Knoten ausgelassen.
- 
    Synchronisierung läuft…boolean Chrome 134 und höherGibt an, ob dieser Knoten vom Browser mit dem Remote-Kontospeicher des Nutzers synchronisiert wird. Damit kann zwischen Konto- und Nur-lokal-Versionen derselben FolderTypeunterschieden werden. Der Wert dieser Eigenschaft kann sich für einen vorhandenen Knoten ändern, z. B. aufgrund einer Nutzeraktion.Hinweis: Hier wird angezeigt, 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 diese Eigenschaft immerfalse.
- 
    TitelString Der Text, der für den Knoten angezeigt wird. 
- 
    nicht modifizierbar„managed“ 
 optionalGibt den Grund dafür an, warum dieser Knoten nicht geändert werden kann. Der Wert managedgibt an, dass dieser Knoten vom Systemadministrator oder vom Erziehungsberechtigten eines betreuten Nutzers konfiguriert wurde. Wird ausgelassen, wenn der Knoten vom Nutzer und der Erweiterung geändert werden kann (Standard).
- 
    URLString optional Die URL, die aufgerufen wird, wenn ein Nutzer auf das Lesezeichen klickt. Für Ordner nicht verfügbar. 
BookmarkTreeNodeUnmodifiable
Gibt den Grund dafür an, warum dieser Knoten nicht geändert werden kann. Der Wert managed gibt an, dass dieser Knoten vom Systemadministrator konfiguriert wurde. Wird ausgelassen, wenn der Knoten vom Nutzer und der Erweiterung geändert werden kann (Standard).
Wert
„managed“ 
 
CreateDetails
Objekt, das an die Funktion „create()“ übergeben wurde.
Attribute
- 
    Indexnumber optional 
- 
    parentIdString optional Standardmäßig wird der Ordner „Weitere Lesezeichen“ verwendet. 
- 
    TitelString optional 
- 
    URLString optional 
FolderType
Gibt den Ordner an.
Enum
„bookmarks-bar“ 
 Der Ordner, dessen Inhalt oben im Browserfenster angezeigt wird.
„other“ 
 Lesezeichen, die in der vollständigen Liste der Lesezeichen auf allen Plattformen angezeigt werden.
„mobile“ 
 Lesezeichen, die in der Regel auf den Mobilgeräten des Nutzers verfügbar sind, aber durch Erweiterungen oder in der Lesezeichenverwaltung geändert werden können.
„Verwaltet“ 
 Ein Ordner der obersten Ebene, der möglicherweise vorhanden ist, wenn der Systemadministrator oder der Erziehungsberechtigte eines betreuten Nutzers Lesezeichen konfiguriert hat.
Attribute
MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE
Schreibvorgänge für Lesezeichen sind nicht mehr durch Chrome eingeschränkt.
Wert
1000000 
 
MAX_WRITE_OPERATIONS_PER_HOUR
Schreibvorgänge für Lesezeichen sind nicht mehr durch Chrome eingeschränkt.
Wert
1000000 
 
Methoden
create()
chrome.bookmarks.create(
bookmark: CreateDetails,
callback?: function,
): 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
- 
    callbackFunktion optional Der Parameter callbacksieht so aus:(result: BookmarkTreeNode) => void - 
    Ergebnis
 
- 
    
Ausgabe
- 
            Promise<BookmarkTreeNode> Chrome 90 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden. 
get()
chrome.bookmarks.get(
idOrIdList: string | [string, ...string[]],
callback?: function,
): Promise<BookmarkTreeNode[]>
Ruft die angegebenen BookmarkTreeNode-Objekte ab.
Parameter
- 
    idOrIdListString | [String, ...String[]] Eine einzelne ID mit Stringwert oder ein Array von IDs mit Stringwert 
- 
    callbackFunktion optional Der Parameter callbacksieht so aus:(results: BookmarkTreeNode[]) => void - 
    Ergebnisse
 
- 
    
Ausgabe
- 
            Promise<BookmarkTreeNode[]> Chrome 90 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden. 
getChildren()
chrome.bookmarks.getChildren(
id: string,
callback?: function,
): Promise<BookmarkTreeNode[]>
Ruft die untergeordneten Elemente der angegebenen BookmarkTreeNode-ID ab.
Parameter
- 
    idString 
- 
    callbackFunktion optional Der Parameter callbacksieht so aus:(results: BookmarkTreeNode[]) => void - 
    Ergebnisse
 
- 
    
Ausgabe
- 
            Promise<BookmarkTreeNode[]> Chrome 90 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden. 
getRecent()
chrome.bookmarks.getRecent(
numberOfItems: number,
callback?: function,
): Promise<BookmarkTreeNode[]>
Ruft die zuletzt hinzugefügten Lesezeichen ab.
Parameter
- 
    numberOfItemsZahl Die maximale Anzahl der Elemente, die zurückzugeben sind. 
- 
    callbackFunktion optional Der Parameter callbacksieht so aus:(results: BookmarkTreeNode[]) => void - 
    Ergebnisse
 
- 
    
Ausgabe
- 
            Promise<BookmarkTreeNode[]> Chrome 90 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden. 
getSubTree()
chrome.bookmarks.getSubTree(
id: string,
callback?: function,
): Promise<BookmarkTreeNode[]>
Ruft einen Teil der Lesezeichenhierarchie ab, beginnend mit dem angegebenen Knoten.
Parameter
- 
    idString Die ID des Stamms des abzurufenden Teilbaums. 
- 
    callbackFunktion optional Der Parameter callbacksieht so aus:(results: BookmarkTreeNode[]) => void - 
    Ergebnisse
 
- 
    
Ausgabe
- 
            Promise<BookmarkTreeNode[]> Chrome 90 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden. 
getTree()
chrome.bookmarks.getTree(
callback?: function,
): Promise<BookmarkTreeNode[]>
Ruft die gesamte Lesezeichenhierarchie ab.
Parameter
- 
    callbackFunktion optional Der Parameter callbacksieht so aus:(results: BookmarkTreeNode[]) => void - 
    Ergebnisse
 
- 
    
Ausgabe
- 
            Promise<BookmarkTreeNode[]> Chrome 90 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden. 
move()
chrome.bookmarks.move(
id: string,
destination: object,
callback?: function,
): Promise<BookmarkTreeNode>
Verschiebt den angegebenen BookmarkTreeNode an den angegebenen Ort.
Parameter
- 
    idString 
- 
    ZielObjekt - 
    Indexnumber optional 
- 
    parentIdString optional 
 
- 
    
- 
    callbackFunktion optional Der Parameter callbacksieht so aus:(result: BookmarkTreeNode) => void - 
    Ergebnis
 
- 
    
Ausgabe
- 
            Promise<BookmarkTreeNode> Chrome 90 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden. 
remove()
chrome.bookmarks.remove(
id: string,
callback?: function,
): Promise<void>
Entfernt ein Lesezeichen oder einen leeren Lesezeichenordner.
Parameter
- 
    idString 
- 
    callbackFunktion optional Der Parameter callbacksieht so aus:() => void 
Ausgabe
- 
            Promise<void> Chrome 90 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden. 
removeTree()
chrome.bookmarks.removeTree(
id: string,
callback?: function,
): Promise<void>
Entfernt einen Lesezeichenordner rekursiv.
Parameter
- 
    idString 
- 
    callbackFunktion optional Der Parameter callbacksieht so aus:() => void 
Ausgabe
- 
            Promise<void> Chrome 90 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden. 
search()
chrome.bookmarks.search(
query: string | object,
callback?: function,
): Promise<BookmarkTreeNode[]>
Sucht nach BookmarkTreeNodes, die der angegebenen Abfrage entsprechen. Bei Abfragen, die mit einem Objekt angegeben werden, werden BookmarkTreeNodes zurückgegeben, die allen angegebenen Eigenschaften entsprechen.
Parameter
- 
    AbfrageString | Objekt Entweder ein String mit Wörtern und zitierten Wortgruppen, die mit Lesezeichen-URLs und -Titeln abgeglichen werden, oder ein Objekt. Für ein Objekt können die Attribute query,urlundtitleangegeben werden. Es werden dann Lesezeichen erstellt, die allen angegebenen Attributen entsprechen.- 
    AbfrageString optional Eine Reihe von Wörtern und in Anführungszeichen gesetzten Begriffen, die mit Lesezeichen-URLs und -Titeln abgeglichen werden. 
- 
    TitelString optional Der Titel des Lesezeichens. Er muss exakt übereinstimmen. 
- 
    URLString optional Die URL des Lesezeichens. Sie muss exakt übereinstimmen. Ordner haben keine URL. 
 
- 
    
- 
    callbackFunktion optional Der Parameter callbacksieht so aus:(results: BookmarkTreeNode[]) => void - 
    Ergebnisse
 
- 
    
Ausgabe
- 
            Promise<BookmarkTreeNode[]> Chrome 90 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden. 
update()
chrome.bookmarks.update(
id: string,
changes: object,
callback?: function,
): Promise<BookmarkTreeNode>
Aktualisiert die Eigenschaften eines Lesezeichens oder Ordners. Geben Sie nur die Attribute an, die Sie ändern möchten. Nicht angegebene Attribute bleiben unverändert. Hinweis:Derzeit werden nur „title“ und „url“ unterstützt.
Parameter
- 
    idString 
- 
    ÄnderungenObjekt - 
    TitelString optional 
- 
    URLString optional 
 
- 
    
- 
    callbackFunktion optional Der Parameter callbacksieht so aus:(result: BookmarkTreeNode) => void - 
    Ergebnis
 
- 
    
Ausgabe
- 
            Promise<BookmarkTreeNode> Chrome 90 und höherPromises werden nur für Manifest V3 und höher unterstützt. Auf anderen Plattformen müssen Callbacks verwendet werden. 
Ereignisse
onChanged
chrome.bookmarks.onChanged.addListener(
callback: function,
)
Wird ausgelöst, wenn sich ein Lesezeichen oder Ordner ändert. Hinweis:Derzeit wird dies nur durch Änderungen an Titel und URL ausgelöst.
Parameter
- 
    callbackFunktion Der Parameter callbacksieht so aus:(id: string, changeInfo: object) => void - 
    idString 
- 
    changeInfoObjekt - 
    TitelString 
- 
    URLString optional 
 
- 
    
 
- 
    
onChildrenReordered
chrome.bookmarks.onChildrenReordered.addListener(
callback: function,
)
Wird ausgelöst, wenn sich die Reihenfolge der untergeordneten Elemente eines Ordners ändert, weil die Reihenfolge in der Benutzeroberfläche sortiert wird. Diese Funktion wird nicht als Ergebnis von move() aufgerufen.
Parameter
- 
    callbackFunktion Der Parameter callbacksieht so aus:(id: string, reorderInfo: object) => void - 
    idString 
- 
    reorderInfoObjekt - 
    childIdsString[] 
 
- 
    
 
- 
    
onCreated
chrome.bookmarks.onCreated.addListener(
callback: function,
)
Wird ausgelöst, wenn ein Lesezeichen oder Ordner erstellt wird.
Parameter
- 
    callbackFunktion Der Parameter callbacksieht so aus:(id: string, bookmark: BookmarkTreeNode) => void - 
    idString 
- 
    Lesezeichen
 
- 
    
onImportBegan
chrome.bookmarks.onImportBegan.addListener(
callback: function,
)
Wird ausgelöst, wenn eine Sitzung zum Importieren von Lesezeichen beginnt. Teure Observer sollten onCreated-Aktualisierungen ignorieren, bis onImportEnded ausgelöst wird. Beobachter sollten andere Benachrichtigungen weiterhin sofort bearbeiten.
Parameter
- 
    callbackFunktion Der Parameter callbacksieht so aus:() => void 
onImportEnded
chrome.bookmarks.onImportEnded.addListener(
callback: function,
)
Wird ausgelöst, wenn eine Lesezeichenimport-Sitzung beendet wird.
Parameter
- 
    callbackFunktion Der Parameter callbacksieht so aus:() => void 
onMoved
chrome.bookmarks.onMoved.addListener(
callback: function,
)
Wird ausgelöst, wenn ein Lesezeichen oder Ordner in einen anderen übergeordneten Ordner verschoben wird.
Parameter
- 
    callbackFunktion Der Parameter callbacksieht so aus:(id: string, moveInfo: object) => void - 
    idString 
- 
    moveInfoObjekt - 
    IndexZahl 
- 
    oldIndexZahl 
- 
    oldParentIdString 
- 
    parentIdString 
 
- 
    
 
- 
    
onRemoved
chrome.bookmarks.onRemoved.addListener(
callback: function,
)
Wird ausgelöst, wenn ein Lesezeichen oder Ordner entfernt wird. Wenn ein Ordner rekursiv entfernt wird, wird nur eine Benachrichtigung für den Ordner und keine für seinen Inhalt ausgelöst.
Parameter
- 
    callbackFunktion Der Parameter callbacksieht so aus:(id: string, removeInfo: object) => void - 
    idString 
- 
    removeInfoObjekt - 
    IndexZahl 
- 
    KnotenChrome 48 und höher
- 
    parentIdString 
 
- 
    
 
-