To uprawnienie powoduje wyświetlenie ostrzeżenia.
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.
Uprawnienia
bookmarks
Plik manifestu
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"
],
...
}
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 wersjeCzas 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
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
Operacje zapisywania zakładek nie są już ograniczane przez Chrome.
Wartość
1000000
MAX_WRITE_OPERATIONS_PER_HOUR
Operacje zapisywania zakładek nie są już ograniczane przez Chrome.
Wartość
1000000
Metody
create()
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
-
zakładka
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(result: BookmarkTreeNode) => void
-
wynik
-
Zwroty
-
Promise<BookmarkTreeNode>
Chrome 90 i nowszeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
get()
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
-
wyniki
-
Zwroty
-
Promise<BookmarkTreeNode[]>
Chrome 90 i nowszeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
getChildren()
chrome.bookmarks.getChildren(
id: string,
callback?: function,
)
Pobiera elementy podrzędne o określonym identyfikatorze BookmarkTreeNode.
Parametry
-
id
string,
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(results: BookmarkTreeNode[]) => void
-
wyniki
-
Zwroty
-
Promise<BookmarkTreeNode[]>
Chrome 90 i nowszeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
getRecent()
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
-
wyniki
-
Zwroty
-
Promise<BookmarkTreeNode[]>
Chrome 90 i nowszeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
getSubTree()
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
-
wyniki
-
Zwroty
-
Promise<BookmarkTreeNode[]>
Chrome 90 i nowszeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
getTree()
chrome.bookmarks.getTree(
callback?: function,
)
Pobiera całą hierarchię zakładek.
Parametry
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(results: BookmarkTreeNode[]) => void
-
wyniki
-
Zwroty
-
Promise<BookmarkTreeNode[]>
Chrome 90 i nowszeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
move()
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
-
wynik
-
Zwroty
-
Promise<BookmarkTreeNode>
Chrome 90 i nowszeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
remove()
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
Zwroty
-
Promise<void>
Chrome 90 i nowszeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
removeTree()
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
Zwroty
-
Promise<void>
Chrome 90 i nowszeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
search()
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
ititle
. 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
-
wyniki
-
Zwroty
-
Promise<BookmarkTreeNode[]>
Chrome 90 i nowszeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
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ć. 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
-
wynik
-
Zwroty
-
Promise<BookmarkTreeNode>
Chrome 90 i nowszeObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych platform. Inne platformy muszą używać wywołań zwrotnych.
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
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(id: string, bookmark: BookmarkTreeNode) => void
-
id
string,
-
zakładka
-
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
-
węzełChrome 48 i nowsze wersje
-
parentId
string,
-
-