Opis
Interfejs API chrome.bookmarks
służy do tworzenia i porządkowania zakładek oraz do wykonywania innych czynności związanych z nimi. Zobacz też artykuł Zastąp strony, na podstawie którego możesz utworzyć niestandardową stronę Menedżera zakładek.
Uprawnienia
bookmarks
Musisz zadeklarować zakładki w manifeście rozszerzenia do korzystania z interfejsu API zakładek. Na przykład:
{
"name": "My extension",
...
"permissions": [
"bookmarks"
],
...
}
Pojęcia i wykorzystanie
Obiekty i właściwości
Zakładki są uporządkowane w drzewie, a każdy węzeł w drzewie jest zakładką lub folderem. (czasami są nazywane grupą). Każdy węzeł w drzewie jest reprezentowany przez bookmarks.BookmarkTreeNode.
Usługi BookmarkTreeNode
są używane w całym interfejsie API chrome.bookmarks
. Jeśli na przykład
wywołasz bookmarks.create, przekażesz element nadrzędny nowego węzła (parentId
) oraz opcjonalnie
właściwości index
, title
i url
węzła. Więcej informacji znajdziesz na stronie bookmarks.BookmarkTreeNode.
na temat właściwości węzła.
Przykłady
Poniższy kod tworzy folder o nazwie „Extension Dostępne” (zakładki rozszerzenia). Pierwszy argument do
create()
określa właściwości nowego folderu. Drugi argument definiuje funkcję
jest wykonywane 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 programistów dotyczącą rozszerzeń. Od jeśli nie uda się utworzyć zakładki, nic się nie stanie, ten kod nie wymaga zdefiniowania 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 API zakładek ze strony chrome-extension-samples z repozytorium.
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 w wersji 114 lub nowszej .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 obrębie bieżącego profilu i pozostają ważne nawet po ponownym uruchomieniu przeglądarki.
-
indeks
liczba opcjonalnie
Pozycja tego węzła w jego folderze nadrzędnym obliczana na podstawie zera.
-
parentId
ciąg znaków opcjonalny
Element
id
folderu nadrzędnego. Pomijany w przypadku węzła głównego. -
tytuł
ciąg znaków
Tekst wyświetlany dla węzła.
-
nie można zmienić
"managed"
opcjonalnyWskazuje przyczynę, dla której nie można zmienić tego węzła. Wartość
managed
wskazuje, że ten węzeł został skonfigurowany przez administratora systemu lub opiekuna nadzorowanego użytkownika. Pomijany, 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
Wskazuje przyczynę, dla której nie można zmienić tego węzła. Wartość managed
wskazuje, że ten węzeł został skonfigurowany przez administratora systemu. Pomijany, jeśli węzeł może zostać zmodyfikowany przez użytkownika i rozszerzenie (domyślnie).
Wartość
"managed"
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.
-
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 o podanym identyfikatorze nadrzędnym. Jeśli URL ma wartość NULL lub nie ma go, jest to folder.
Parametry
-
zakładka
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:(result: BookmarkTreeNode) => void
-
wynik
-
Zwroty
-
Promise<BookmarkTreeNode>
Chrome w wersji 90 lub nowszej .Obietnice są obsługiwane w Manifest V3 i nowszych, ale wywołania zwrotne są podane w przypadku zgodność wsteczną. Nie można użyć obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.
get()
chrome.bookmarks.get(
idOrIdList: string | [string, ...string[]],
callback?: function,
)
Pobiera określone węzły BookmarkTreeNode.
Parametry
-
idOrIdList
string | [ciąg, ...ciąg[]]
Pojedynczy identyfikator o wartości ciągu znaków lub tablica identyfikatorów o wartościach ciągu znaków
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:(results: BookmarkTreeNode[]) => void
-
wyniki
-
Zwroty
-
Promise<BookmarkTreeNode[]>
Chrome w wersji 90 lub nowszej .Obietnice są obsługiwane w Manifest V3 i nowszych, ale wywołania zwrotne są podane w przypadku zgodność wsteczną. Nie można użyć obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.
getChildren()
chrome.bookmarks.getChildren(
id: string,
callback?: function,
)
Pobiera elementy podrzędne określonego identyfikatora BookmarkTreeNode.
Parametry
-
id
ciąg znaków
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:(results: BookmarkTreeNode[]) => void
-
wyniki
-
Zwroty
-
Promise<BookmarkTreeNode[]>
Chrome w wersji 90 lub nowszej .Obietnice są obsługiwane w Manifest V3 i nowszych, ale wywołania zwrotne są podane w przypadku zgodność wsteczną. Nie można użyć obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.
getRecent()
chrome.bookmarks.getRecent(
numberOfItems: number,
callback?: function,
)
Pobiera ostatnio dodane zakładki.
Parametry
-
numberOfItems
liczba
Maksymalna liczba produktów do zwrotu.
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:(results: BookmarkTreeNode[]) => void
-
wyniki
-
Zwroty
-
Promise<BookmarkTreeNode[]>
Chrome w wersji 90 lub nowszej .Obietnice są obsługiwane w Manifest V3 i nowszych, ale wywołania zwrotne są podane w przypadku zgodność wsteczną. Nie można użyć obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.
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
funkcja optional
Parametr
callback
wygląda tak:(results: BookmarkTreeNode[]) => void
-
wyniki
-
Zwroty
-
Promise<BookmarkTreeNode[]>
Chrome w wersji 90 lub nowszej .Obietnice są obsługiwane w Manifest V3 i nowszych, ale wywołania zwrotne są podane w przypadku zgodność wsteczną. Nie można użyć obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.
getTree()
chrome.bookmarks.getTree(
callback?: function,
)
Pobiera całą hierarchię zakładek.
Parametry
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:(results: BookmarkTreeNode[]) => void
-
wyniki
-
Zwroty
-
Promise<BookmarkTreeNode[]>
Chrome w wersji 90 lub nowszej .Obietnice są obsługiwane w Manifest V3 i nowszych, ale wywołania zwrotne są podane w przypadku zgodność wsteczną. Nie można użyć obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.
move()
chrome.bookmarks.move(
id: string,
destination: object,
callback?: function,
)
Przenosi określony element BookmarkTreeNode do podanej lokalizacji.
Parametry
-
id
ciąg znaków
-
usługa docelowa | konto usługi docelowej
Obiekt
-
indeks
liczba opcjonalnie
-
parentId
ciąg znaków opcjonalny
-
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:(result: BookmarkTreeNode) => void
-
wynik
-
Zwroty
-
Promise<BookmarkTreeNode>
Chrome w wersji 90 lub nowszej .Obietnice są obsługiwane w Manifest V3 i nowszych, ale wywołania zwrotne są podane w przypadku zgodność wsteczną. Nie można użyć obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.
remove()
chrome.bookmarks.remove(
id: string,
callback?: function,
)
Usuwa zakładkę lub pusty folder zakładek.
Parametry
-
id
ciąg znaków
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:() => void
Zwroty
-
Obietnica<void>
Chrome w wersji 90 lub nowszej .Obietnice są obsługiwane w Manifest V3 i nowszych, ale wywołania zwrotne są podane w przypadku zgodność wsteczną. Nie można użyć obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.
removeTree()
chrome.bookmarks.removeTree(
id: string,
callback?: function,
)
Cyklicznie usuwa folder zakładek.
Parametry
-
id
ciąg znaków
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:() => void
Zwroty
-
Obietnica<void>
Chrome w wersji 90 lub nowszej .Obietnice są obsługiwane w Manifest V3 i nowszych, ale wywołania zwrotne są podane w przypadku zgodność wsteczną. Nie można użyć obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.
search()
chrome.bookmarks.search(
query: string | object,
callback?: function,
)
Wyszukuje obiekty BookmarkTreeNodes pasujące do danego zapytania. Zapytania określone za pomocą obiektu generują obiekty BookmarkTreeNodes pasujące do wszystkich określonych właściwości.
Parametry
-
zapytanie
string | obiekt
Ciąg słów i cytowanych wyrażeń, które są dopasowywane do adresów URL i tytułów zakładek, lub obiektu. Jeśli obiekt zawiera właściwości
query
,url
ititle
, mogą zostać 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.
-
tytuł
ciąg znaków opcjonalny
tytuł zakładki; dosłownie.
-
URL
ciąg znaków opcjonalny
adres URL zakładki; dosłownie. Foldery nie mają adresu URL.
-
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:(results: BookmarkTreeNode[]) => void
-
wyniki
-
Zwroty
-
Promise<BookmarkTreeNode[]>
Chrome w wersji 90 lub nowszej .Obietnice są obsługiwane w Manifest V3 i nowszych, ale wywołania zwrotne są podane w przypadku zgodność wsteczną. Nie można użyć obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane z tym samym typem, który jest przekazywany do wywołania zwrotnego.
update()
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ć. nieokreślone właściwości pozostaną niezmienione. Uwaga: obecnie dostępne są tylko opcje „title”. i „url” są obsługiwane.
Parametry
-
id
ciąg znaków
-
Zmiany
Obiekt
-
tytuł
ciąg znaków opcjonalny
-
URL
ciąg znaków opcjonalny
-
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:(result: BookmarkTreeNode) => void
-
wynik
-
Zwroty
-
Promise<BookmarkTreeNode>
Chrome w wersji 90 lub nowszej .Obietnice są obsługiwane w Manifest V3 i nowszych, ale wywołania zwrotne są podane w przypadku zgodność wsteczną. Nie można użyć obu w tym samym wywołaniu funkcji. Polecenie promowana jest realizowane 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 przyczyną są tylko zmiany tytułu i adresu URL.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(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,
)
Uruchamiane, gdy elementy podrzędne folderu zmieniły swoją kolejność z powodu sortowania w interfejsie. Ta funkcja nie jest wywoływana w wyniku użycia metody Move().
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(id: string, reorderInfo: object) => void
-
id
ciąg znaków
-
reorderInfo
Obiekt
-
childIds
ciąg znaków[]
-
-
onCreated
chrome.bookmarks.onCreated.addListener(
callback: function,
)
Uruchamiane po utworzeniu zakładki lub folderu.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(id: string, bookmark: BookmarkTreeNode) => void
-
id
ciąg znaków
-
zakładka
-
onImportBegan
chrome.bookmarks.onImportBegan.addListener(
callback: function,
)
Uruchamiane po rozpoczęciu sesji importowania zakładek. Koszty obserwatorów powinni ignorować aktualizacje onCreated do czasu uruchomienia onImportEnded. Obserwatorzy powinni nadal niezwłocznie 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 po przeniesieniu zakładki lub folderu do innego folderu nadrzędnego.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(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,
)
Uruchamiane po usunięciu zakładki lub folderu. Rekurencyjne usunięcie folderu powoduje uruchomienie pojedynczego powiadomienia dotyczącego folderu, bez żadnego powiadomienia o jego zawartości.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(id: string, removeInfo: object) => void
-
id
ciąg znaków
-
removeInfo
Obiekt
-
indeks
liczba
-
węzełChrome w wersji 48 lub nowszej, .
-
parentId
ciąg znaków
-
-