chrome.bookmarks

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.
Durch Klicken auf den Stern wird ein Lesezeichen hinzugefügt.

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

Chrome 44 und höher

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

Eingestellt

Das Schreiben von Lesezeichen wird nicht mehr durch Chrome eingeschränkt.

Wert

1.000.000

MAX_WRITE_OPERATIONS_PER_HOUR

Eingestellt

Das Schreiben von Lesezeichen wird nicht mehr durch Chrome eingeschränkt.

Wert

1.000.000

Methoden

create()

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

Parameters

Rückgaben

  • Chrome 90 oder höher

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

Versprechen
chrome.bookmarks.get(
  idOrIdList: string|[string,...string[]],
  callback?: function,
)

Ruft die angegebenen LesezeichenTreeNode(s) ab.

Parameters

  • idOrIdList

    String|[String,...String[]]

    Eine einzelne Stringwert-ID oder ein Array von Stringwert-IDs

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    (results: BookmarkTreeNode[])=>void

Rückgaben

  • Promise<BookmarkTreeNode[]>

    Chrome 90 oder höher

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

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

Ruft die untergeordneten Elemente der angegebenen LesezeichenTreeNode-ID ab.

Parameters

Rückgaben

  • Promise<BookmarkTreeNode[]>

    Chrome 90 oder höher

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

Versprechen
chrome.bookmarks.getRecent(
  numberOfItems: number,
  callback?: function,
)

Ruft die zuletzt hinzugefügten Lesezeichen ab.

Parameters

  • numberOfItems

    Zahl

    Die maximale Anzahl der Elemente, die zurückzugeben sind.

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    (results: BookmarkTreeNode[])=>void

Rückgaben

  • Promise<BookmarkTreeNode[]>

    Chrome 90 oder höher

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

Versprechen
chrome.bookmarks.getSubTree(
  id: string,
  callback?: function,
)

Ruft einen Teil der Lesezeichenhierarchie ab dem angegebenen Knoten ab.

Parameters

  • id

    String

    Die ID des Stamms der Unterstruktur, die abgerufen werden soll.

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    (results: BookmarkTreeNode[])=>void

Rückgaben

  • Promise<BookmarkTreeNode[]>

    Chrome 90 oder höher

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

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

Ruft die gesamte Lesezeichenhierarchie ab.

Parameters

Rückgaben

  • Promise<BookmarkTreeNode[]>

    Chrome 90 oder höher

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

Versprechen
chrome.bookmarks.move(
  id: string,
  destination: object,
  callback?: function,
)

Verschiebt den angegebenen LesezeichenTreeNode an den angegebenen Ort.

Parameters

  • id

    String

  • Ziel

    Objekt

    • Index

      Nummer optional

    • parentId

      String optional

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    (result: BookmarkTreeNode)=>void

Rückgaben

  • Chrome 90 oder höher

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

Versprechen
chrome.bookmarks.remove(
  id: string,
  callback?: function,
)

Entfernt ein Lesezeichen oder einen leeren Lesezeichenordner.

Parameters

  • id

    String

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    ()=>void

Rückgaben

  • Promise<void>

    Chrome 90 oder höher

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

Versprechen
chrome.bookmarks.removeTree(
  id: string,
  callback?: function,
)

Entfernt einen Lesezeichenordner rekursiv.

Parameters

  • id

    String

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    ()=>void

Rückgaben

  • Promise<void>

    Chrome 90 oder höher

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

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

Parameters

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

Rückgaben

  • Promise<BookmarkTreeNode[]>

    Chrome 90 oder höher

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

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

Parameters

  • id

    String

  • Änderungen

    Objekt

    • Titel

      String optional

    • url

      String optional

  • callback

    Funktion optional

    Der Parameter callback sieht so aus:

    (result: BookmarkTreeNode)=>void

Rückgaben

  • Chrome 90 oder höher

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

Parameters

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

Parameters

  • 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

Parameters

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.

Parameters

  • 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

Parameters

  • 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

Parameters

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

Parameters

  • callback

    Funktion

    Der Parameter callback sieht so aus:

    (id: string,removeInfo: object)=>void

    • id

      String

    • removeInfo

      Objekt