chrome.bookmarks

Opis

Użyj interfejsu API chrome.bookmarks do tworzenia, porządkowania i modyfikowania zakładek. Zobacz też artykuł Zastępowanie stron, w którym znajdziesz informacje o tworzeniu niestandardowej strony Menedżera zakładek.

Kliknięcie gwiazdki powoduje dodanie zakładki.
Kliknięcie gwiazdki powoduje dodanie zakładki.

Uprawnienia

bookmarks

Aby korzystać z interfejsu bookmark API, musisz zadeklarować uprawnienie „bookmarks” w manifeście rozszerzenia. Na przykład:

{
  "name": "My extension",
  ...
  "permissions": [
    "bookmarks"
  ],
  ...
}

Pojęcia i zastosowanie

Obiekty i właściwości

Zakładki są uporządkowane w drzewie, w którym każdy węzeł jest albo zakładką, albo folderem (czasami nazywanym grupą). Każdy węzeł w drzewie jest reprezentowany przez obiekt bookmarks.BookmarkTreeNode.

Właściwości BookmarkTreeNode są używane w całym interfejsie API chrome.bookmarks. Na przykład podczas wywołania funkcji bookmarks.create przekazujesz element nadrzędny nowego węzła (parentId) oraz opcjonalnie właściwości węzła index, titleurl. Informacje o właściwościach, które może mieć węzeł, znajdziesz w pliku bookmarks.BookmarkTreeNode.

Przykłady

Podany niżej kod tworzy folder o nazwie „Zakładki rozszerzenia”. Pierwszy argument funkcji create() określa właściwości nowego folderu. Drugi argument definiuje funkcję, która zostanie wykonana po utworzeniu folderu.

chrome.bookmarks.create(
  {'parentId': bookmarkBar.id, 'title': 'Extension bookmarks'},
  function(newFolder) {
    console.log("added folder: " + newFolder.title);
  },
);

Następny fragment kodu tworzy zakładkę wskazującą dokumentację dla deweloperów dotyczącą rozszerzeń. Ponieważ nic złego nie stanie się, jeśli tworzenie zakładki się nie powiedzie, ten kod nie definiuje funkcji wywołania zwrotnego.

chrome.bookmarks.create({
  'parentId': extensionsFolderId,
  'title': 'Extensions doc',
  'url': 'https://developer.chrome.com/docs/extensions',
});

Aby wypróbować ten interfejs API, zainstaluj przykład interfejsu Bookmark API z repozytorium chrome-extension-samples.

Typy

BookmarkTreeNode

węzeł (zakładka lub folder) na drzewie zakładek; W folderze nadrzędnym węzły podrzędne są uporządkowane.

Właściwości

  • dzieci

    BookmarkTreeNode[] opcjonalnie

    Uporządkowana lista węzłów podrzędnych tego węzła.

  • dateAdded

    number opcjonalny

    Czas utworzenia tego węzła w milisekundach od początku epoki (new Date(dateAdded)).

  • dateGroupModified

    number opcjonalny

    Data ostatniej zmiany zawartości tego folderu w milisekundach od początku epoki.

  • dateLastUsed

    number opcjonalny

    Chrome 114 lub nowszy

    Czas ostatniego otwarcia tego węzła w milisekundach od początku epoki. Nie ustawiono dla folderów.

  • id

    ciąg znaków

    Unikalny identyfikator węzła. Identyfikatory są unikalne w ramach bieżącego profilu i pozostają ważne nawet po ponownym uruchomieniu przeglądarki.

  • indeks

    number opcjonalny

    Pozycja tego węzła w folderze nadrzędnym (liczona od 0).

  • parentId

    ciąg znaków opcjonalny

    id folderu nadrzędnego. W przypadku węzła głównego jest pomijany.

  • tytuł

    ciąg znaków

    Tekst wyświetlany dla węzła.

  • niemodyfikowalne

    „managed”
     opcjonalnie

    Wskazuje powód, dla którego tego węzła nie można zmodyfikować. Wartość managed wskazuje, że ten węzeł został skonfigurowany przez administratora systemu lub opiekuna użytkownika nadzorowanego. Pomijany, jeśli węzeł może być modyfikowany przez użytkownika i rozszerzenie (domyślnie).

  • URL

    ciąg znaków opcjonalny

    Adres URL, do którego następuje przejście po kliknięciu zakładki. W przypadku folderów jest pomijany.

BookmarkTreeNodeUnmodifiable

Chrome 44 lub nowszy

Wskazuje powód, dla którego tego węzła nie można zmodyfikować. Wartość managed wskazuje, że ten węzeł został skonfigurowany przez administratora systemu. Pomijany, jeśli węzeł może być modyfikowany przez użytkownika i rozszerzenie (domyślnie).

Wartość

„zarządzane”

CreateDetails

Obiekt przekazany do funkcji create().

Właściwości

  • indeks

    number opcjonalny

  • parentId

    ciąg znaków opcjonalny

    Domyślnie jest to folder Inne zakładki.

  • tytuł

    ciąg znaków opcjonalny

  • URL

    ciąg znaków opcjonalny

Właściwości

MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE

Wycofane

Operacje zapisu zakładek nie są już ograniczone przez Chrome.

Wartość

1000000

MAX_WRITE_OPERATIONS_PER_HOUR

Wycofane

Operacje zapisu zakładek nie są już ograniczone przez Chrome.

Wartość

1000000

Metody

create()

Obietnice
chrome.bookmarks.create(
  bookmark: CreateDetails,
  callback?: function,
)

Tworzy zakładkę lub folder pod określonym identyfikatorem parentId. Jeśli adres URL jest pusty lub nie ma go w ogóle, będzie to folder.

Parametry

Zwroty

  • Obietnica<BookmarkTreeNode>

    Chrome 90+

    Obietnice są obsługiwane w pliku manifestu w wersji 3 i późniejszych, ale wywołania zwrotne są dostępne ze względu na zgodność wsteczną. Nie możesz używać obu w tym samym wywołaniu funkcji. Obiet na obietnice zwracany jest z tym samym typem, który jest przekazywany do funkcji zwracającej wywołanie zwrotne.

get()

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

Pobiera określone węzły BookmarkTreeNode.

Parametry

  • idOrIdList

    ciąg tekstowy | [ciąg tekstowy, ...ciąg tekstowy[]]

    Pojedynczy identyfikator o typie ciągu znaków lub tablica identyfikatorów o typie ciągu znaków

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    (results: BookmarkTreeNode[]) => void

Zwroty

  • Promise<BookmarkTreeNode[]>

    Chrome 90+

    Obietnice są obsługiwane w pliku manifestu w wersji 3 i późniejszych, ale wywołania zwrotne są dostępne ze względu na zgodność wsteczną. Nie możesz używać obu w tym samym wywołaniu funkcji. Obiet na obietnice zwracany jest z tym samym typem, który jest przekazywany do funkcji zwracającej wywołanie zwrotne.

getChildren()

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

Pobiera podrzędne określonego identyfikatora BookmarkTreeNode.

Parametry

Zwroty

  • Promise<BookmarkTreeNode[]>

    Chrome 90+

    Obietnice są obsługiwane w pliku manifestu w wersji 3 i późniejszych, ale wywołania zwrotne są dostępne ze względu na zgodność wsteczną. Nie możesz używać obu w tym samym wywołaniu funkcji. Obiet na obietnice zwracany jest z tym samym typem, który jest przekazywany do funkcji zwracającej wywołanie zwrotne.

getRecent()

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

Pobiera ostatnio dodane zakładki.

Parametry

  • numberOfItems

    liczba

    Maksymalna liczba elementów do zwrócenia.

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    (results: BookmarkTreeNode[]) => void

Zwroty

  • Promise<BookmarkTreeNode[]>

    Chrome 90+

    Obietnice są obsługiwane w pliku manifestu w wersji 3 i późniejszych, ale wywołania zwrotne są dostępne ze względu na zgodność wsteczną. Nie możesz używać obu w tym samym wywołaniu funkcji. Obiet na obietnice zwracany jest z tym samym typem, który jest przekazywany do funkcji zwracającej wywołanie zwrotne.

getSubTree()

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

Pobiera część hierarchii zakładek, zaczynając od określonego węzła.

Parametry

  • id

    ciąg znaków

    Identyfikator korzenia poddrzewa do pobrania.

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    (results: BookmarkTreeNode[]) => void

Zwroty

  • Promise<BookmarkTreeNode[]>

    Chrome 90+

    Obietnice są obsługiwane w pliku manifestu w wersji 3 i późniejszych, ale wywołania zwrotne są dostępne ze względu na zgodność wsteczną. Nie możesz używać obu w tym samym wywołaniu funkcji. Obiet na obietnice zwracany jest z tym samym typem, który jest przekazywany do funkcji zwracającej wywołanie zwrotne.

getTree()

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

Pobiera całą hierarchię zakładek.

Parametry

Zwroty

  • Promise<BookmarkTreeNode[]>

    Chrome 90+

    Obietnice są obsługiwane w pliku manifestu w wersji 3 i późniejszych, ale wywołania zwrotne są dostępne ze względu na zgodność wsteczną. Nie możesz używać obu w tym samym wywołaniu funkcji. Obiet na obietnice zwracany jest z tym samym typem, który jest przekazywany do funkcji zwracającej wywołanie zwrotne.

move()

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

Przenosi określony węzeł BookmarkTreeNode do podanej lokalizacji.

Parametry

  • id

    ciąg znaków

  • usługa docelowa | konto usługi docelowej

    Obiekt

    • indeks

      number opcjonalny

    • parentId

      ciąg znaków opcjonalny

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    (result: BookmarkTreeNode) => void

Zwroty

  • Obietnica<BookmarkTreeNode>

    Chrome 90+

    Obietnice są obsługiwane w pliku manifestu w wersji 3 i późniejszych, ale wywołania zwrotne są dostępne ze względu na zgodność wsteczną. Nie możesz używać obu w tym samym wywołaniu funkcji. Obiet na obietnice zwracany jest z tym samym typem, który jest przekazywany do funkcji zwracającej wywołanie zwrotne.

remove()

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

Usuwa zakładkę lub pusty folder z zakładkami.

Parametry

  • id

    ciąg znaków

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    () => void

Zwroty

  • Obietnica<void>

    Chrome 90+

    Obietnice są obsługiwane w pliku manifestu w wersji 3 i późniejszych, ale wywołania zwrotne są dostępne ze względu na zgodność wsteczną. Nie możesz używać obu w tym samym wywołaniu funkcji. Obiet na obietnice zwracany jest z tym samym typem, który jest przekazywany do funkcji zwracającej wywołanie zwrotne.

removeTree()

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

Rekursywnie usuwa folder zakładek.

Parametry

  • id

    ciąg znaków

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    () => void

Zwroty

  • Obietnica<void>

    Chrome 90+

    Obietnice są obsługiwane w pliku manifestu w wersji 3 i późniejszych, ale wywołania zwrotne są dostępne ze względu na zgodność wsteczną. Nie możesz używać obu w tym samym wywołaniu funkcji. Obiet na obietnice zwracany jest z tym samym typem, który jest przekazywany do funkcji zwracającej wywołanie zwrotne.

Obietnice
chrome.bookmarks.search(
  query: string | object,
  callback?: function,
)

Wyszukuje węzłów BookmarkTreeNode pasujących do podanego zapytania. Zapytania określone za pomocą obiektu zwracają węzły drzewa zakładek pasujące do wszystkich określonych właściwości.

Parametry

  • zapytanie

    ciąg znaków | obiekt

    Albo ciąg znaków z wyrazami i cytowanymi wyrażeniami, które są dopasowywane do adresów URL i tytułów zakładek, albo obiekt. Jeśli jest to obiekt, można określić właściwości query, url i title, a następnie wygenerować zakładki pasujące do wszystkich określonych właściwości.

    • zapytanie

      ciąg znaków opcjonalny

      ciąg słów i wyrażeń, które są porównywane z adresami URL i tytułami zakładek;

    • tytuł

      ciąg znaków opcjonalny

      Tytuł zakładki; dopasowanie dokładne.

    • URL

      ciąg znaków opcjonalny

      Adres URL zakładki; dopasowanie do dosłownego tekstu. Pamiętaj, że foldery nie mają adresów URL.

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    (results: BookmarkTreeNode[]) => void

Zwroty

  • Promise<BookmarkTreeNode[]>

    Chrome 90+

    Obietnice są obsługiwane w pliku manifestu w wersji 3 i późniejszych, ale wywołania zwrotne są dostępne ze względu na zgodność wsteczną. Nie możesz używać obu w tym samym wywołaniu funkcji. Obiet na obietnice zwracany jest z tym samym typem, który jest przekazywany do funkcji zwracającej wywołanie zwrotne.

update()

Obietnice
chrome.bookmarks.update(
  id: string,
  changes: object,
  callback?: function,
)

Zaktualizuj właściwości zakładki lub folderu. Określ tylko te właściwości, które chcesz zmienić. Nieokreślone właściwości pozostaną bez zmian. Uwaga: obecnie obsługiwane są tylko parametry „title” i „url”.

Parametry

  • id

    ciąg znaków

  • Zmiany

    Obiekt

    • tytuł

      ciąg znaków opcjonalny

    • URL

      ciąg znaków opcjonalny

  • wywołanie zwrotne

    function opcjonalny

    Parametr callback ma postać:

    (result: BookmarkTreeNode) => void

Zwroty

  • Obietnica<BookmarkTreeNode>

    Chrome 90+

    Obietnice są obsługiwane w pliku manifestu w wersji 3 i późniejszych, ale wywołania zwrotne są dostępne ze względu na zgodność wsteczną. Nie możesz używać obu w tym samym wywołaniu funkcji. Obiet na obietnice zwracany jest z tym samym typem, który jest przekazywany do funkcji zwracającej wywołanie zwrotne.

Wydarzenia

onChanged

chrome.bookmarks.onChanged.addListener(
  callback: function,
)

Wywoływany, gdy zmieni się zakładka lub folder. Uwaga: obecnie wywołuje to tylko zmiana tytułu i adresu URL.

Parametry

  • wywołanie zwrotne

    funkcja

    Parametr callback ma postać:

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

    • id

      ciąg znaków

    • changeInfo

      Obiekt

      • tytuł

        ciąg znaków

      • URL

        ciąg znaków opcjonalny

onChildrenReordered

chrome.bookmarks.onChildrenReordered.addListener(
  callback: function,
)

Wywoływany, gdy kolejność elementów podrzędnych folderu uległa zmianie z powodu ich posortowania w interfejsie. Nie jest on wywoływany w wyniku wywołania move().

Parametry

  • wywołanie zwrotne

    funkcja

    Parametr callback ma postać:

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

    • id

      ciąg znaków

    • reorderInfo

      Obiekt

      • childIds

        string[]

onCreated

chrome.bookmarks.onCreated.addListener(
  callback: function,
)

Uruchamiane, gdy tworzona jest zakładka lub folder.

Parametry

onImportBegan

chrome.bookmarks.onImportBegan.addListener(
  callback: function,
)

Wywoływane, gdy rozpoczyna się sesja importowania zakładek. Obserwatorzy o wysokich kosztach powinni ignorować aktualizacje onCreated do momentu wywołania onImportEnded. Obserwatorzy powinni nadal natychmiast reagować na inne powiadomienia.

Parametry

  • wywołanie zwrotne

    funkcja

    Parametr callback ma postać:

    () => void

onImportEnded

chrome.bookmarks.onImportEnded.addListener(
  callback: function,
)

Uruchamiane po zakończeniu sesji importowania zakładek.

Parametry

  • wywołanie zwrotne

    funkcja

    Parametr callback ma postać:

    () => void

onMoved

chrome.bookmarks.onMoved.addListener(
  callback: function,
)

Wywoływany, gdy zakładka lub folder zostanie przeniesiony do innego folderu nadrzędnego.

Parametry

  • wywołanie zwrotne

    funkcja

    Parametr callback ma postać:

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

    • id

      ciąg znaków

    • moveInfo

      Obiekt

      • indeks

        liczba

      • oldIndex

        liczba

      • oldParentId

        ciąg znaków

      • parentId

        ciąg znaków

onRemoved

chrome.bookmarks.onRemoved.addListener(
  callback: function,
)

Wywoływane, gdy zakładka lub folder zostanie usunięty. Gdy folder jest usuwany rekurencyjnie, wysyłane jest pojedyncze powiadomienie o tym folderze, ale nie wysyłane są powiadomienia o jego zawartości.

Parametry

  • wywołanie zwrotne

    funkcja

    Parametr callback ma postać:

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

    • id

      ciąg znaków

    • removeInfo

      Obiekt