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.

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
, title
i url
. 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 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ę 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 nowszyCzas ostatniego otwarcia tego węzła w milisekundach od początku epoki. Nie ustawiono dla folderów.
-
folderType
FolderType opcjonalny
Chrome 134 lub nowszyJeśli jest obecny, jest to folder dodany przez przeglądarkę i nie może być modyfikowany przez użytkownika ani rozszerzenie. Węzły podrzędne można modyfikować, jeśli nie mają ustawionej właściwości
unmodifiable
. Pomijany, jeśli węzeł może być modyfikowany przez użytkownika i rozszerzenie (domyślnie).Każdy typ folderu może mieć 0, 1 lub wiele węzłów. Folder może zostać dodany lub usunięty przez przeglądarkę, ale nie za pomocą interfejsu API rozszerzeń.
-
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
string opcjonalny
id
folderu nadrzędnego. W przypadku węzła głównego jest pomijany. -
synchronizuję
wartość logiczna
Chrome 134 lub nowszyOkreśla, czy ten węzeł jest synchronizowany z miejscem na dane na zdalnym koncie użytkownika przez przeglądarkę. Można go użyć do rozróżnienia wersji konta i wersji lokalnych tego samego
FolderType
. Wartość tej właściwości może się zmienić w przypadku istniejącego węzła, np. w wyniku działania użytkownika.Uwaga: to ustawienie określa, czy węzeł jest zapisywany w budowanym przez przeglądarkę wbudowanym dostawcy kont. Możliwe jest, że węzeł może być synchronizowany przez zewnętrzne źródło danych, nawet jeśli ta wartość jest ustawiona na „fałsz”.
W przypadku węzłów zarządzanych (węzły, w których parametr
unmodifiable
ma wartośćtrue
) ta właściwość będzie zawsze miała wartośćfalse
. -
tytuł
ciąg znaków
Tekst wyświetlany w węźle.
-
niemodyfikowalne
„managed”
opcjonalnieWskazuje powód, dla którego ten węzeł jest niedostępny do modyfikacji. 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
string opcjonalny
Adres URL, do którego następuje przejście po kliknięciu zakładki. W przypadku folderów jest pomijany.
BookmarkTreeNodeUnmodifiable
Wskazuje powód, dla którego ten węzeł jest niemodyfikowalny. 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
string opcjonalny
Domyślnie jest to folder Inne zakładki.
-
tytuł
string opcjonalny
-
URL
string opcjonalny
FolderType
Wskazuje typ folderu.
Typ wyliczeniowy
"bookmarks-bar"
Folder, którego zawartość jest wyświetlana u góry okna przeglądarki.
„inne”
zakładki wyświetlane na pełnej liście zakładek na wszystkich platformach.
„mobile”
Zakładki są zwykle dostępne na urządzeniach mobilnych użytkownika, ale można je modyfikować w rozszerzeniu lub w menedżerze zakładek.
„zarządzany”
Folder najwyższego poziomu, który może być obecny, jeśli administrator systemu lub opiekun użytkownika nadzorowanego skonfigurował zakładki.
Właściwości
MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE
Operacje zapisu zakładek nie są już ograniczone przez Chrome.
Wartość
1000000
MAX_WRITE_OPERATIONS_PER_HOUR
Operacje zapisu zakładek nie są już ograniczone przez Chrome.
Wartość
1000000
Metody
create()
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
-
zakładka
-
callback
function opcjonalny
Parametr
callback
ma postać:(result: BookmarkTreeNode) => void
-
wynik
-
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 obietnicy zwracany jest z tym samym typem, który jest przekazywany do funkcji zwracającej wywołanie zwrotne.
get()
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
-
callback
function opcjonalny
Parametr
callback
ma postać:(results: BookmarkTreeNode[]) => void
-
wyniki
-
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 obietnicy zwracany jest z tym samym typem, który jest przekazywany do funkcji zwracającej wywołanie zwrotne.
getChildren()
chrome.bookmarks.getChildren(
id: string,
callback?: function,
)
Pobiera podrzędne określonego identyfikatora BookmarkTreeNode.
Parametry
-
id
ciąg znaków
-
callback
function opcjonalny
Parametr
callback
ma postać:(results: BookmarkTreeNode[]) => void
-
wyniki
-
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 obietnicy zwracany jest z tym samym typem, który jest przekazywany do funkcji zwracającej wywołanie zwrotne.
getRecent()
chrome.bookmarks.getRecent(
numberOfItems: number,
callback?: function,
)
Pobiera ostatnio dodane zakładki.
Parametry
-
numberOfItems
liczba
Maksymalna liczba elementów do zwrotu.
-
callback
function opcjonalny
Parametr
callback
ma postać:(results: BookmarkTreeNode[]) => void
-
wyniki
-
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 obietnicy zwracany jest z tym samym typem, który jest przekazywany do funkcji zwracającej wywołanie zwrotne.
getSubTree()
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.
-
callback
function opcjonalny
Parametr
callback
ma postać:(results: BookmarkTreeNode[]) => void
-
wyniki
-
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 obietnicy zwracany jest z tym samym typem, który jest przekazywany do funkcji zwracającej wywołanie zwrotne.
getTree()
chrome.bookmarks.getTree(
callback?: function,
)
Pobiera całą hierarchię zakładek.
Parametry
-
callback
function opcjonalny
Parametr
callback
ma postać:(results: BookmarkTreeNode[]) => void
-
wyniki
-
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 obietnicy zwracany jest z tym samym typem, który jest przekazywany do funkcji zwracającej wywołanie zwrotne.
move()
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
string opcjonalny
-
-
callback
function opcjonalny
Parametr
callback
ma postać:(result: BookmarkTreeNode) => void
-
wynik
-
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 obietnicy zwracany jest z tym samym typem, który jest przekazywany do funkcji zwracającej wywołanie zwrotne.
remove()
chrome.bookmarks.remove(
id: string,
callback?: function,
)
Usuwa zakładkę lub pusty folder z zakładkami.
Parametry
-
id
ciąg znaków
-
callback
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 obietnicy zwracany jest z tym samym typem, który jest przekazywany do funkcji zwracającej wywołanie zwrotne.
removeTree()
chrome.bookmarks.removeTree(
id: string,
callback?: function,
)
Rekursywnie usuwa folder zakładek.
Parametry
-
id
ciąg znaków
-
callback
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 obietnicy zwracany jest z tym samym typem, który jest przekazywany do funkcji zwracającej wywołanie zwrotne.
search()
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 tekstowy | 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
ititle
, a następnie wygenerować zakładki pasujące do wszystkich określonych właściwości.-
zapytanie
string opcjonalny
ciąg wyrazów i wyrażeń, które są porównywane z adresami URL i tytułami zakładek;
-
tytuł
string opcjonalny
Tytuł zakładki; dopasowanie dokładne.
-
URL
string opcjonalny
Adres URL zakładki; dopasowanie do dosłownego tekstu. Pamiętaj, że foldery nie mają adresów URL.
-
-
callback
function opcjonalny
Parametr
callback
ma postać:(results: BookmarkTreeNode[]) => void
-
wyniki
-
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 obietnicy zwracany jest z tym samym typem, który jest przekazywany do funkcji zwracającej wywołanie zwrotne.
update()
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ł
string opcjonalny
-
URL
string opcjonalny
-
-
callback
function opcjonalny
Parametr
callback
ma postać:(result: BookmarkTreeNode) => void
-
wynik
-
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 obietnicy 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
-
callback
funkcja
Parametr
callback
ma postać:(id: string, changeInfo: object) => void
-
id
ciąg znaków
-
changeInfo
obiekt
-
tytuł
ciąg znaków
-
URL
string 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
-
callback
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,
)
Wywoływane po utworzeniu zakładki lub folderu.
Parametry
-
callback
funkcja
Parametr
callback
ma postać:(id: string, bookmark: BookmarkTreeNode) => void
-
id
ciąg znaków
-
zakładka
-
onImportBegan
chrome.bookmarks.onImportBegan.addListener(
callback: function,
)
Uruchamiane, gdy rozpoczyna się sesja importowania zakładek. Obserwatorzy o wysokich kosztach powinni ignorować aktualizacje onCreated, dopóki nie zostanie wywołana metoda onImportEnded. Obserwatorzy powinni nadal natychmiast reagować na inne powiadomienia.
Parametry
-
callback
funkcja
Parametr
callback
ma postać:() => void
onImportEnded
chrome.bookmarks.onImportEnded.addListener(
callback: function,
)
Uruchamiane po zakończeniu sesji importowania zakładek.
Parametry
-
callback
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
-
callback
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
-
callback
funkcja
Parametr
callback
ma postać:(id: string, removeInfo: object) => void
-
id
ciąg znaków
-
removeInfo
obiekt
-
indeks
liczba
-
węzełChrome 48+
-
parentId
ciąg znaków
-
-