chrome.bookmarks

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.

Durch Klicken auf den Stern wird ein Lesezeichen hinzugefügt.
Wenn Sie auf den Stern klicken, wird ein Lesezeichen hinzugefügt.

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öher

    Wann 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“
     optional

    Gibt 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

Chrome 44 und höher

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

Eingestellt

Schreibvorgänge für Lesezeichen werden nicht mehr von Chrome eingeschränkt.

Wert

1000000

MAX_WRITE_OPERATIONS_PER_HOUR

Eingestellt

Schreibvorgänge für Lesezeichen werden nicht mehr von Chrome eingeschränkt.

Wert

1000000

Methoden

create()

Promise
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

Gibt Folgendes zurück:

  • Chrome 90 und höher

    Versprechen 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()

Promise
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

Gibt Folgendes zurück:

  • Promise<BookmarkTreeNode[]>

    Chrome 90 und höher

    Versprechen 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()

Promise
chrome.bookmarks.getChildren(
  id: string,
  callback?: function,
)

Ruft die untergeordneten Elemente der angegebenen BookmarkTreeNode-ID ab.

Parameter

Gibt Folgendes zurück:

  • Promise<BookmarkTreeNode[]>

    Chrome 90 und höher

    Versprechen 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()

Promise
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

Gibt Folgendes zurück:

  • Promise<BookmarkTreeNode[]>

    Chrome 90 und höher

    Versprechen 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()

Promise
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

Gibt Folgendes zurück:

  • Promise<BookmarkTreeNode[]>

    Chrome 90 und höher

    Versprechen 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()

Promise
chrome.bookmarks.getTree(
  callback?: function,
)

Ruft die gesamte Lesezeichenhierarchie ab.

Parameter

Gibt Folgendes zurück:

  • Promise<BookmarkTreeNode[]>

    Chrome 90 und höher

    Versprechen 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()

Promise
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

Gibt Folgendes zurück:

  • Chrome 90 und höher

    Versprechen 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()

Promise
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öher

    Versprechen 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()

Promise
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öher

    Versprechen 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.

Promise
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 und title 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

Gibt Folgendes zurück:

  • Promise<BookmarkTreeNode[]>

    Chrome 90 und höher

    Versprechen 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()

Promise
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

Gibt Folgendes zurück:

  • Chrome 90 und höher

    Versprechen 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

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