chrome.bookmarks

Opis

Używaj interfejsu chrome.bookmarks API do tworzenia i porządkowania zakładek oraz innych operacji na nich. Zobacz też sekcję Zastąp strony, której możesz użyć do utworzenia niestandardowej strony Menedżera zakładek.

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

Uprawnienia

bookmarks

Aby używać interfejsu API zakładek, musisz zadeklarować uprawnienie do korzystania z zakładek w pliku manifestu 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 postaci drzewa, gdzie każdy węzeł w drzewie jest zakładką lub folderem (czasem 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 wywołanie metody bookmarks.create przekazuje element nadrzędny nowego węzła (parentId) oraz opcjonalnie właściwości index, title i url węzła. W sekcji bookmarks.BookmarkTreeNode znajdziesz informacje o właściwościach danego węzła.

Przykłady

Podany niżej kod tworzy folder o nazwie „Zakładki rozszerzeń”. Pierwszy argument funkcji create() określa właściwości nowego folderu. Drugi argument określa funkcję, która ma zostać 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ę kierującą do dokumentacji rozszerzeń dla deweloperów. Ponieważ po nieudanej próbie utworzenia zakładki nic się nie stanie, więc ten kod nie będzie chciał zdefiniować 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ładowy interfejs zakładek z repozytorium chrome-extension-samples.

Typy

BookmarkTreeNode

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

Właściwości

  • dzieci

    BookmarkTreeNode[] opcjonalny

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

  • dateAdded

    Liczba opcjonalnie

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

  • dateGroupModified

    Liczba opcjonalnie

    Czas ostatniej zmiany zawartości tego folderu (w milisekundach od początku epoki).

  • dateLastUsed

    Liczba opcjonalnie

    Chrome 114 i nowsze wersje

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

  • id

    string,

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

  • indeks

    Liczba opcjonalnie

    Pozycja tego węzła oparta na 0 w jego folderze nadrzędnym.

  • parentId

    ciąg znaków opcjonalny

    Wartość id folderu nadrzędnego. Pominięta w przypadku węzła głównego.

  • title

    string,

    Tekst wyświetlany dla węzła.

  • niepodlegający zmianie

     opcjonalny

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

  • URL

    ciąg znaków opcjonalny

    Adres URL otwierany po kliknięciu zakładki przez użytkownika. Pomijany w przypadku folderów.

BookmarkTreeNodeUnmodifiable

Chrome 44 i nowsze wersje

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

Wartość

CreateDetails

Obiekt przekazany do funkcji create().

Właściwości

  • indeks

    Liczba opcjonalnie

  • parentId

    ciąg znaków opcjonalny

    Domyślnie jest to folder Inne zakładki.

  • title

    ciąg znaków opcjonalny

  • URL

    ciąg znaków opcjonalny

Właściwości

MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE

Wycofano

Operacje zapisywania zakładek nie są już ograniczane przez Chrome.

Wartość

1000000

MAX_WRITE_OPERATIONS_PER_HOUR

Wycofano

Operacje zapisywania zakładek nie są już ograniczane przez Chrome.

Wartość

1000000

Metody

create()

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

Tworzy zakładkę lub folder o określonym identyfikatorze nadrzędnym. Jeśli adres URL ma wartość NULL lub nie ma go wcale, będzie to folder.

Parametry

Akcje powrotne

  • Chrome 90 i nowsze

    Obietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.

get()

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

Pobiera określone węzły BookmarkTreeNode(s).

Parametry

  • idOrIdList

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

    Pojedynczy identyfikator wyrażony ciągiem znaków lub tablica identyfikatorów wartości w postaci ciągu znaków

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    (results: BookmarkTreeNode[])=>void

Akcje powrotne

  • Promise<BookmarkTreeNode[]>

    Chrome 90 i nowsze

    Obietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.

getChildren()

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

Pobiera elementy podrzędne o określonym identyfikatorze BookmarkTreeNode.

Parametry

Akcje powrotne

  • Promise<BookmarkTreeNode[]>

    Chrome 90 i nowsze

    Obietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.

getRecent()

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

Pobiera ostatnio dodane zakładki.

Parametry

  • numberOfItems

    Liczba

    Maksymalna liczba produktów do zwrócenia.

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    (results: BookmarkTreeNode[])=>void

Akcje powrotne

  • Promise<BookmarkTreeNode[]>

    Chrome 90 i nowsze

    Obietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.

getSubTree()

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

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

Parametry

  • id

    string,

    Identyfikator poziomu głównego drzewa podrzędnego do pobrania.

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    (results: BookmarkTreeNode[])=>void

Akcje powrotne

  • Promise<BookmarkTreeNode[]>

    Chrome 90 i nowsze

    Obietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.

getTree()

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

Pobiera całą hierarchię zakładek.

Parametry

Akcje powrotne

  • Promise<BookmarkTreeNode[]>

    Chrome 90 i nowsze

    Obietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.

move()

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

Przenosi określony BookmarkTreeNode do podanej lokalizacji.

Parametry

  • id

    string,

  • usługa docelowa | konto usługi docelowej

    obiekt

    • indeks

      Liczba opcjonalnie

    • parentId

      ciąg znaków opcjonalny

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    (result: BookmarkTreeNode)=>void

Akcje powrotne

  • Chrome 90 i nowsze

    Obietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.

remove()

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

Usuwa zakładkę lub pusty folder zakładek.

Parametry

  • id

    string,

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    ()=>void

Akcje powrotne

  • Promise<void>

    Chrome 90 i nowsze

    Obietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.

removeTree()

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

Usuwa folder zakładek cyklicznie.

Parametry

  • id

    string,

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    ()=>void

Akcje powrotne

  • Promise<void>

    Chrome 90 i nowsze

    Obietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.

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

Wyszukuje węzłyTreeTreeNodes pasujące do danego zapytania. Zapytania określone za pomocą obiektu generują NocleTreeNodes pasujące do wszystkich określonych właściwości.

Parametry

  • zapytanie

    ciąg|obiekt

    Ciąg słów i cytowane wyrażenia pasujące do adresów URL i tytułów zakładek albo obiekt. Jeśli obiekt jest obiektem, można określić właściwości query, url i title. Zostaną utworzone zakładki pasujące do wszystkich podanych właściwości.

    • zapytanie

      ciąg znaków opcjonalny

      Ciąg słów i cytowanych wyrażeń dopasowanych do adresów URL i tytułów zakładek.

    • title

      ciąg znaków opcjonalny

      Tytuł zakładki (dosłowny).

    • URL

      ciąg znaków opcjonalny

      Adres URL zakładki (dosłowny). Pamiętaj, że foldery nie mają adresów URL.

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    (results: BookmarkTreeNode[])=>void

Akcje powrotne

  • Promise<BookmarkTreeNode[]>

    Chrome 90 i nowsze

    Obietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.

update()

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

Aktualizuje właściwości zakładki lub folderu. Określ tylko te właściwości, które chcesz zmienić. Właściwości nieokreślone pozostaną niezmienione. Uwaga: obecnie obsługiwane są tylko właściwości „tytuł” i „url”.

Parametry

  • id

    string,

  • Zmiany

    obiekt

    • title

      ciąg znaków opcjonalny

    • URL

      ciąg znaków opcjonalny

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    (result: BookmarkTreeNode)=>void

Akcje powrotne

  • Chrome 90 i nowsze

    Obietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.

Wydarzenia

onChanged

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

Uruchamiane po zmianie zakładki lub folderu. Uwaga: obecnie problem ten jest związany tylko ze zmianą tytułu i adresu URL.

Parametry

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

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

    • id

      string,

    • changeInfo

      obiekt

      • title

        string,

      • URL

        ciąg znaków opcjonalny

onChildrenReordered

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

Uruchamiane, gdy elementy podrzędne folderu zmieniły swoją kolejność z powodu kolejności sortowania w interfejsie. Ta metoda nie jest wywoływana w wyniku metodymove().

Parametry

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

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

    • id

      string,

    • reorderInfo

      obiekt

      • childIds

        string[]

onCreated

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

Uruchamiane po utworzeniu zakładki lub folderu.

Parametry

onImportBegan

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

Uruchamiane po rozpoczęciu sesji importowania zakładek. Drogi obserwatorzy powinni ignorować aktualizacje onCreated, dopóki nie zostanie uruchomiony parametr onImportEnded. Obserwatorzy powinni od razu obsługiwać inne powiadomienia.

Parametry

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    ()=>void

onImportEnded

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

Uruchamiane po zakończeniu sesji importowania zakładek.

Parametry

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

    ()=>void

onMoved

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

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

Parametry

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

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

    • id

      string,

    • moveInfo

      obiekt

      • indeks

        Liczba

      • oldIndex

        Liczba

      • oldParentId

        string,

      • parentId

        string,

onRemoved

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

Uruchamiane po usunięciu zakładki lub folderu. Jeśli folder jest usuwany rekurencyjnie, wysyłane jest jedno powiadomienie dotyczące folderu, ale nie dla jego zawartości.

Parametry

  • wywołanie zwrotne

    funkcja

    Parametr callback wygląda tak:

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

    • id

      string,

    • removeInfo

      obiekt

      • indeks

        Liczba

      • Chrome 48 i nowsze wersje
      • parentId

        string,