refresh date: 2026-09-25 robots: noindex
To uprawnienie wywołuje ostrzeżenie.
Opis
Użyj interfejsu chrome.bookmarks API, aby tworzyć, porządkować i w inny sposób zarządzać zakładkami. Zobacz też Zastępowanie stron, które umożliwia utworzenie niestandardowej strony Menedżera zakładek.
Uprawnienia
bookmarks
Plik manifestu
Aby korzystać z interfejsu Bookmarks API, musisz zadeklarować uprawnienie „bookmarks” w pliku manifestu rozszerzenia. Na przykład:
{
"name": "My extension",
...
"permissions": [
"bookmarks"
],
...
}
Obiekty i właściwości
Zakładki są uporządkowane w drzewie, w którym każdy węzeł jest zakładką lub 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 chrome.bookmarks API. Na przykład podczas wywoływania funkcji bookmarks.create przekazujesz element nadrzędny nowego węzła (parentId) oraz opcjonalnie właściwości index, title i url węzła. Informacje o właściwościach węzła znajdziesz w sekcji bookmarks.BookmarkTreeNode.
Przykłady
Ten kod tworzy folder o nazwie „Zakładki rozszerzenia”. 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);
},
);
Poniższy fragment kodu tworzy zakładkę wskazującą dokumentację dla deweloperów dotyczącą rozszerzeń. Ponieważ nie stanie się nic złego, jeśli utworzenie 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 Bookmarks API 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
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 nowszaCzas ostatniego otwarcia tego węzła w milisekundach od początku epoki. Nie ustawiono dla folderów.
-
folderType
FolderType opcjonalny
Chrome 134 lub nowszaJeśli jest obecny, jest to folder dodany przez przeglądarkę, którego użytkownik ani rozszerzenie nie mogą modyfikować. Węzły podrzędne można modyfikować, jeśli ten węzeł nie ma ustawionej właściwości
unmodifiable. Pomijane, 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 więcej węzłów. Folder może zostać dodany lub usunięty przez przeglądarkę, ale nie za pomocą interfejsu API rozszerzeń.
-
id
tekst
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 zera).
-
parentId
ciąg znaków opcjonalny
idfolderu nadrzędnego. Pomijany w przypadku węzła głównego. -
synchronizacja
wartość logiczna
Chrome 134 lub nowszaOkreśla, czy ten węzeł jest synchronizowany z pamięcią zdalną konta użytkownika przez przeglądarkę. Można go używać do rozróżniania wersji tego samego
FolderType, które są dostępne na koncie i lokalnie. 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: ta wartość odzwierciedla, czy węzeł jest zapisany we wbudowanym dostawcy kont w przeglądarce. Węzeł może być synchronizowany przez firmę zewnętrzną, nawet jeśli ta wartość jest fałszywa.
W przypadku węzłów zarządzanych (węzłów, w których wartość
unmodifiablejest ustawiona natrue) ta właściwość będzie zawsze miała wartośćfalse. -
tytuł
tekst
Tekst wyświetlany w węźle.
-
nie można modyfikować,
„managed”
opcjonalnieWskazuje przyczynę, dla której tego węzła nie można modyfikować. Wartość
managedoznacza, że ten węzeł został skonfigurowany przez administratora systemu lub opiekuna nadzorowanego użytkownika. Pomijane, 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 użytkownik zostanie przekierowany po kliknięciu zakładki. Pomijane w przypadku folderów.
BookmarkTreeNodeUnmodifiable
Wskazuje przyczynę, dla której tego węzła nie można modyfikować. Wartość managed oznacza, że ten węzeł został skonfigurowany przez administratora systemu. Pomijane, jeśli węzeł może być modyfikowany przez użytkownika i rozszerzenie (domyślnie).
Wartość
„managed”
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
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 ogólnie dostępne na urządzeniach mobilnych użytkownika, ale modyfikowane przez rozszerzenie lub w menedżerze zakładek.
„zarządzany”
Folder najwyższego poziomu, który może być obecny, jeśli administrator systemu lub opiekun nadzorowanego użytkownika 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
ROOT_NODE_ID
id powiązany z węzłem na poziomie głównym.
Wartość
„0”
Metody
create()
chrome.bookmarks.create(
bookmark: CreateDetails,
callback?: function,
): Promise<BookmarkTreeNode>
Tworzy zakładkę lub folder w określonym elemencie nadrzędnym. Jeśli argument url ma wartość NULL lub nie jest podany, będzie to folder.
Parametry
-
zakładka,
-
callback
funkcja opcjonalna
Parametr
callbackwygląda tak:(result: BookmarkTreeNode) => void
-
wynik
-
Zwroty
-
Promise<BookmarkTreeNode>
Chrome w wersji 90 lub nowszejObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
get()
chrome.bookmarks.get(
idOrIdList: string | [string, ...string[]],
callback?: function,
): Promise<BookmarkTreeNode[]>
Pobiera określone węzły BookmarkTreeNode.
Parametry
-
idOrIdList
string | [string, ...string[]]
Pojedynczy identyfikator w formie ciągu tekstowego lub tablica identyfikatorów w formie ciągów tekstowych.
-
callback
funkcja opcjonalna
Parametr
callbackwygląda tak:(results: BookmarkTreeNode[]) => void
-
wyniki
-
Zwroty
-
Promise<BookmarkTreeNode[]>
Chrome w wersji 90 lub nowszejObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
getChildren()
chrome.bookmarks.getChildren(
id: string,
callback?: function,
): Promise<BookmarkTreeNode[]>
Pobiera elementy podrzędne określonego węzła BookmarkTreeNode.
Parametry
-
id
tekst
-
callback
funkcja opcjonalna
Parametr
callbackwygląda tak:(results: BookmarkTreeNode[]) => void
-
wyniki
-
Zwroty
-
Promise<BookmarkTreeNode[]>
Chrome w wersji 90 lub nowszejObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
getRecent()
chrome.bookmarks.getRecent(
numberOfItems: number,
callback?: function,
): Promise<BookmarkTreeNode[]>
Pobiera ostatnio dodane zakładki.
Parametry
-
numberOfItems
liczba
Maksymalna liczba elementów do zwrócenia.
-
callback
funkcja opcjonalna
Parametr
callbackwygląda tak:(results: BookmarkTreeNode[]) => void
-
wyniki
-
Zwroty
-
Promise<BookmarkTreeNode[]>
Chrome w wersji 90 lub nowszejObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
getSubTree()
chrome.bookmarks.getSubTree(
id: string,
callback?: function,
): Promise<BookmarkTreeNode[]>
Pobiera część hierarchii zakładek, zaczynając od określonego węzła.
Parametry
-
id
tekst
Identyfikator węzła głównego poddrzewa do pobrania.
-
callback
funkcja opcjonalna
Parametr
callbackwygląda tak:(results: BookmarkTreeNode[]) => void
-
wyniki
-
Zwroty
-
Promise<BookmarkTreeNode[]>
Chrome w wersji 90 lub nowszejObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
getTree()
chrome.bookmarks.getTree(
callback?: function,
): Promise<BookmarkTreeNode[]>
Pobiera całą hierarchię zakładek.
Parametry
-
callback
funkcja opcjonalna
Parametr
callbackwygląda tak:(results: BookmarkTreeNode[]) => void
-
wyniki
-
Zwroty
-
Promise<BookmarkTreeNode[]>
Chrome w wersji 90 lub nowszejObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
move()
chrome.bookmarks.move(
id: string,
destination: object,
callback?: function,
): Promise<BookmarkTreeNode>
Przenosi określony węzeł BookmarkTreeNode do podanej lokalizacji.
Parametry
-
id
tekst
-
usługa docelowa | konto usługi docelowej
obiekt
-
indeks
number opcjonalny
-
parentId
ciąg znaków opcjonalny
-
-
callback
funkcja opcjonalna
Parametr
callbackwygląda tak:(result: BookmarkTreeNode) => void
-
wynik
-
Zwroty
-
Promise<BookmarkTreeNode>
Chrome w wersji 90 lub nowszejObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
remove()
chrome.bookmarks.remove(
id: string,
callback?: function,
): Promise<void>
Usuwa zakładkę lub pusty folder zakładek.
Parametry
-
id
tekst
-
callback
funkcja opcjonalna
Parametr
callbackwygląda tak:() => void
Zwroty
-
Promise<void>
Chrome w wersji 90 lub nowszejObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
removeTree()
chrome.bookmarks.removeTree(
id: string,
callback?: function,
): Promise<void>
Rekursywnie usuwa folder zakładek.
Parametry
-
id
tekst
-
callback
funkcja opcjonalna
Parametr
callbackwygląda tak:() => void
Zwroty
-
Promise<void>
Chrome w wersji 90 lub nowszejObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
search()
chrome.bookmarks.search(
query: string | object,
callback?: function,
): Promise<BookmarkTreeNode[]>
Wyszukuje węzły BookmarkTreeNode pasujące do podanego zapytania. Zapytania określone za pomocą obiektu zwracają węzły BookmarkTreeNodes pasujące do wszystkich określonych właściwości.
Parametry
-
zapytanie
string | object
Ciąg słów i wyrażeń w cudzysłowie, które są dopasowywane do adresów URL i tytułów zakładek, lub obiekt. Jeśli jest to obiekt, można określić właściwości
query,urlititle, a zakładki pasujące do wszystkich określonych właściwości zostaną wygenerowane.-
zapytanie
ciąg znaków opcjonalny
Ciąg słów i wyrażeń w cudzysłowie, które są porównywane z adresami URL i tytułami zakładek.
-
tytuł
ciąg znaków opcjonalny
Tytuł zakładki, który musi być identyczny.
-
URL
ciąg znaków opcjonalny
Adres URL zakładki, który musi być identyczny. Pamiętaj, że foldery nie mają adresu URL.
-
-
callback
funkcja opcjonalna
Parametr
callbackwygląda tak:(results: BookmarkTreeNode[]) => void
-
wyniki
-
Zwroty
-
Promise<BookmarkTreeNode[]>
Chrome w wersji 90 lub nowszejObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
update()
chrome.bookmarks.update(
id: string,
changes: object,
callback?: function,
): Promise<BookmarkTreeNode>
Aktualizuje właściwości zakładki lub folderu. Określ tylko właściwości, które chcesz zmienić. Właściwości, które nie zostaną określone, pozostaną bez zmian. Uwaga: obecnie obsługiwane są tylko atrybuty „title” i „url”.
Parametry
-
id
tekst
-
poniższych zmian
obiekt
-
tytuł
ciąg znaków opcjonalny
-
URL
ciąg znaków opcjonalny
-
-
callback
funkcja opcjonalna
Parametr
callbackwygląda tak:(result: BookmarkTreeNode) => void
-
wynik
-
Zwroty
-
Promise<BookmarkTreeNode>
Chrome w wersji 90 lub nowszejObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.
Wydarzenia
onChanged
chrome.bookmarks.onChanged.addListener(
callback: function,
)
Wywoływane, gdy zmieni się zakładka lub folder. Uwaga: obecnie tylko zmiany tytułu i adresu URL powodują wywołanie tej funkcji.
Parametry
-
callback
funkcja
Parametr
callbackwygląda tak:(id: string, changeInfo: object) => void
-
id
tekst
-
changeInfo
obiekt
-
tytuł
tekst
-
URL
ciąg znaków opcjonalny
-
-
onChildrenReordered
chrome.bookmarks.onChildrenReordered.addListener(
callback: function,
)
Wywoływane, gdy kolejność elementów podrzędnych folderu uległa zmianie z powodu posortowania w interfejsie. Nie jest to wywoływane w wyniku wywołania funkcji move().
Parametry
-
callback
funkcja
Parametr
callbackwygląda tak:(id: string, reorderInfo: object) => void
-
id
tekst
-
reorderInfo
obiekt
-
childIds
string[]
-
-
onCreated
chrome.bookmarks.onCreated.addListener(
callback: function,
)
Wywoływane, gdy zostanie utworzona zakładka lub folder.
Parametry
-
callback
funkcja
Parametr
callbackwygląda tak:(id: string, bookmark: BookmarkTreeNode) => void
-
id
tekst
-
zakładka,
-
onImportBegan
chrome.bookmarks.onImportBegan.addListener(
callback: function,
)
Wywoływane po rozpoczęciu sesji importowania zakładek. Kosztowne obserwatory powinny ignorować aktualizacje onCreated, dopóki nie zostanie wywołana funkcja onImportEnded. Obserwatorzy powinni nadal natychmiast reagować na inne powiadomienia.
Parametry
-
callback
funkcja
Parametr
callbackwygląda tak:() => void
onImportEnded
chrome.bookmarks.onImportEnded.addListener(
callback: function,
)
Wywoływane po zakończeniu sesji importowania zakładek.
Parametry
-
callback
funkcja
Parametr
callbackwygląda tak:() => void
onMoved
chrome.bookmarks.onMoved.addListener(
callback: function,
)
Wywoływane, gdy zakładka lub folder zostaną przeniesione do innego folderu nadrzędnego.
Parametry
-
callback
funkcja
Parametr
callbackwygląda tak:(id: string, moveInfo: object) => void
-
id
tekst
-
moveInfo
obiekt
-
indeks
liczba
-
oldIndex
liczba
-
oldParentId
tekst
-
parentId
tekst
-
-
onRemoved
chrome.bookmarks.onRemoved.addListener(
callback: function,
)
Wywoływane, gdy zakładka lub folder zostaną usunięte. Gdy folder zostanie usunięty rekursywnie, zostanie wysłane jedno powiadomienie dotyczące folderu, a nie jego zawartości.
Parametry
-
callback
funkcja
Parametr
callbackwygląda tak:(id: string, removeInfo: object) => void
-
id
tekst
-
removeInfo
obiekt
-
indeks
liczba
-
węzełChrome 48 lub nowsza
-
parentId
tekst
-
-