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 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 nowszyCzas 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”
opcjonalnieWskazuje 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
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
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
-
wywołanie zwrotne
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 obietnice 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
-
wywołanie zwrotne
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 obietnice 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
-
wywołanie zwrotne
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 obietnice 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 zwrócenia.
-
wywołanie zwrotne
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 obietnice 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.
-
wywołanie zwrotne
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 obietnice 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
-
wywołanie zwrotne
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 obietnice 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
ciąg znaków opcjonalny
-
-
wywołanie zwrotne
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 obietnice 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
-
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()
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.
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 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
ititle
, 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
-
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 obietnice 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ł
ciąg znaków opcjonalny
-
URL
ciąg znaków opcjonalny
-
-
wywołanie zwrotne
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 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
-
wywołanie zwrotne
funkcja
Parametr
callback
ma postać:(id: string, bookmark: BookmarkTreeNode) => void
-
id
ciąg znaków
-
zakładka
-
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
-
indeks
liczba
-
węzełChrome 48+
-
parentId
ciąg znaków
-
-