refresh date: 2026-09-25 robots: noindex
Questa autorizzazione attiva un avviso.
Descrizione
Utilizza l'API chrome.bookmarks per creare, organizzare e manipolare i preferiti. Consulta anche Override Pages, che puoi utilizzare per creare una pagina Gestione preferiti personalizzata.
Autorizzazioni
bookmarks
Manifest
Per utilizzare l'API bookmarks, devi dichiarare l'autorizzazione "bookmarks" nel manifest dell'estensione. Ad esempio:
{
"name": "My extension",
...
"permissions": [
"bookmarks"
],
...
}
Oggetti e proprietà
I preferiti sono organizzati in una struttura ad albero, in cui ogni nodo è un preferito o una cartella (a volte chiamata gruppo). Ogni nodo dell'albero è rappresentato da un oggetto bookmarks.BookmarkTreeNode.
Le proprietà BookmarkTreeNode vengono utilizzate nell'API chrome.bookmarks. Ad esempio, quando chiami bookmarks.create, passi il nodo principale del nuovo nodo (parentId) e, facoltativamente, le proprietà index, title e url del nodo. Consulta bookmarks.BookmarkTreeNode per informazioni sulle proprietà che un nodo può avere.
Esempi
Il seguente codice crea una cartella con il titolo "Extension bookmarks". Il primo argomento di create() specifica le proprietà della nuova cartella. Il secondo argomento definisce una funzione da eseguire dopo la creazione della cartella.
chrome.bookmarks.create(
{'parentId': bookmarkBar.id, 'title': 'Extension bookmarks'},
function(newFolder) {
console.log("added folder: " + newFolder.title);
},
);
Lo snippet successivo crea un preferito che rimanda alla documentazione per lo sviluppo delle estensioni. Poiché non accadrà nulla di male se la creazione del preferito non va a buon fine, questo codice non si preoccupa di definire una funzione di callback.
chrome.bookmarks.create({
'parentId': extensionsFolderId,
'title': 'Extensions doc',
'url': 'https://developer.chrome.com/docs/extensions',
});
Per provare questa API, installa l'esempio di API Bookmarks dal repository chrome-extension-samples.
Tipi
BookmarkTreeNode
Un nodo (un preferito o una cartella) nell'albero dei preferiti. I nodi secondari sono ordinati all'interno della cartella principale.
Proprietà
-
bambini
BookmarkTreeNode[] facoltativo
Un elenco ordinato di elementi secondari di questo nodo.
-
dateAdded
number optional
Data e ora di creazione di questo nodo, in millisecondi dall'epoca (
new Date(dateAdded)). -
dateGroupModified
number optional
L'ultima modifica dei contenuti di questa cartella, in millisecondi dall'epoch.
-
dateLastUsed
number optional
Chrome 114 e versioni successiveData e ora dell'ultima apertura di questo nodo, in millisecondi dall'epoca. Non impostato per le cartelle.
-
folderType
FolderType facoltativo
Chrome 134+Se presente, si tratta di una cartella aggiunta dal browser che non può essere modificata dall'utente o dall'estensione. I nodi secondari possono essere modificati se questo nodo non ha la proprietà
unmodifiableimpostata. Omesso se il nodo può essere modificato dall'utente e dall'estensione (impostazione predefinita).Possono essere presenti zero, uno o più nodi di ogni tipo di cartella. Una cartella può essere aggiunta o rimossa dal browser, ma non tramite l'API delle estensioni.
-
id
stringa
L'identificatore univoco del nodo. Gli ID sono univoci all'interno del profilo corrente e rimangono validi anche dopo il riavvio del browser.
-
indice
number optional
La posizione basata su 0 di questo nodo all'interno della cartella principale.
-
parentId
stringa facoltativa
L'
iddella cartella principale. Omesso per il nodo principale. -
sincronizzazione in corso…
booleano
Chrome 134+Indica se questo nodo è sincronizzato con lo spazio di archiviazione dell'account remoto dell'utente dal browser. Questo può essere utilizzato per distinguere tra le versioni dell'account e quelle solo locali dello stesso
FolderType. Il valore di questa proprietà può cambiare per un nodo esistente, ad esempio in seguito a un'azione dell'utente.Nota: questo indica se il nodo è salvato nel provider di account integrato del browser. È possibile che un nodo venga sincronizzato tramite una terza parte, anche se questo valore è false.
Per i nodi gestiti (nodi in cui
unmodifiableè impostato sutrue), questa proprietà sarà semprefalse. -
titolo
stringa
Il testo visualizzato per il nodo.
-
non modificabile
"managed"
facoltativoIndica il motivo per cui questo nodo non è modificabile. Il valore
managedindica che questo nodo è stato configurato dall'amministratore di sistema o dal responsabile di un utente supervisionato. Omesso se il nodo può essere modificato dall'utente e dall'estensione (impostazione predefinita). -
url
stringa facoltativa
L'URL a cui viene indirizzato l'utente quando fa clic sul preferito. Omesso per le cartelle.
BookmarkTreeNodeUnmodifiable
Indica il motivo per cui questo nodo non è modificabile. Il valore managed indica che questo nodo è stato configurato dall'amministratore di sistema. Omesso se il nodo può essere modificato dall'utente e dall'estensione (impostazione predefinita).
Valore
"managed"
CreateDetails
Oggetto passato alla funzione create().
Proprietà
-
indice
number optional
-
parentId
stringa facoltativa
Per impostazione predefinita, viene selezionata la cartella Altri preferiti.
-
titolo
stringa facoltativa
-
url
stringa facoltativa
FolderType
Indica il tipo di cartella.
Enum
"bookmarks-bar"
La cartella i cui contenuti vengono visualizzati nella parte superiore della finestra del browser.
"other"
Preferiti visualizzati nell'elenco completo dei preferiti su tutte le piattaforme.
"mobile"
Preferiti generalmente disponibili sui dispositivi mobili dell'utente, ma modificabili tramite estensione o in Gestione preferiti.
"managed"
Una cartella di primo livello che potrebbe essere presente se l'amministratore di sistema o il custode di un utente supervisionato ha configurato i preferiti.
Proprietà
MAX_SUSTAINED_WRITE_OPERATIONS_PER_MINUTE
Le operazioni di scrittura dei preferiti non sono più limitate da Chrome.
Valore
1000000
MAX_WRITE_OPERATIONS_PER_HOUR
Le operazioni di scrittura dei preferiti non sono più limitate da Chrome.
Valore
1000000
ROOT_NODE_ID
id associato al nodo di livello principale.
Valore
"0"
Metodi
create()
chrome.bookmarks.create(
bookmark: CreateDetails,
callback?: function,
): Promise<BookmarkTreeNode>
Crea un preferito o una cartella con il parentId specificato. Se l'URL è NULL o mancante, si tratta di una cartella.
Parametri
-
Preferito
-
callback
funzione elemento facoltativo
Il parametro
callbackha il seguente aspetto:(result: BookmarkTreeNode) => void
-
risultato
-
Resi
-
Promise<BookmarkTreeNode>
Chrome 90 e versioni successiveLe promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
get()
chrome.bookmarks.get(
idOrIdList: string | [string, ...string[]],
callback?: function,
): Promise<BookmarkTreeNode[]>
Recupera i BookmarkTreeNode specificati.
Parametri
-
idOrIdList
string | [string, …string[]]
Un singolo ID con valore di stringa o un array di ID con valore di stringa
-
callback
funzione elemento facoltativo
Il parametro
callbackha il seguente aspetto:(results: BookmarkTreeNode[]) => void
-
risultati
-
Resi
-
Promise<BookmarkTreeNode[]>
Chrome 90 e versioni successiveLe promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
getChildren()
chrome.bookmarks.getChildren(
id: string,
callback?: function,
): Promise<BookmarkTreeNode[]>
Recupera gli elementi secondari dell'ID BookmarkTreeNode specificato.
Parametri
-
id
stringa
-
callback
funzione elemento facoltativo
Il parametro
callbackha il seguente aspetto:(results: BookmarkTreeNode[]) => void
-
risultati
-
Resi
-
Promise<BookmarkTreeNode[]>
Chrome 90 e versioni successiveLe promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
getRecent()
chrome.bookmarks.getRecent(
numberOfItems: number,
callback?: function,
): Promise<BookmarkTreeNode[]>
Recupera i preferiti aggiunti di recente.
Parametri
-
numberOfItems
numero
Il numero massimo di elementi da restituire.
-
callback
funzione elemento facoltativo
Il parametro
callbackha il seguente aspetto:(results: BookmarkTreeNode[]) => void
-
risultati
-
Resi
-
Promise<BookmarkTreeNode[]>
Chrome 90 e versioni successiveLe promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
getSubTree()
chrome.bookmarks.getSubTree(
id: string,
callback?: function,
): Promise<BookmarkTreeNode[]>
Recupera parte della gerarchia dei preferiti, a partire dal nodo specificato.
Parametri
-
id
stringa
L'ID della radice del sottoalbero da recuperare.
-
callback
funzione elemento facoltativo
Il parametro
callbackha il seguente aspetto:(results: BookmarkTreeNode[]) => void
-
risultati
-
Resi
-
Promise<BookmarkTreeNode[]>
Chrome 90 e versioni successiveLe promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
getTree()
chrome.bookmarks.getTree(
callback?: function,
): Promise<BookmarkTreeNode[]>
Recupera l'intera gerarchia dei preferiti.
Parametri
-
callback
funzione elemento facoltativo
Il parametro
callbackha il seguente aspetto:(results: BookmarkTreeNode[]) => void
-
risultati
-
Resi
-
Promise<BookmarkTreeNode[]>
Chrome 90 e versioni successiveLe promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
move()
chrome.bookmarks.move(
id: string,
destination: object,
callback?: function,
): Promise<BookmarkTreeNode>
Sposta il BookmarkTreeNode specificato nella posizione fornita.
Parametri
-
id
stringa
-
destinazione
oggetto
-
indice
number optional
-
parentId
stringa facoltativa
-
-
callback
funzione elemento facoltativo
Il parametro
callbackha il seguente aspetto:(result: BookmarkTreeNode) => void
-
risultato
-
Resi
-
Promise<BookmarkTreeNode>
Chrome 90 e versioni successiveLe promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
remove()
chrome.bookmarks.remove(
id: string,
callback?: function,
): Promise<void>
Rimuove un preferito o una cartella di preferiti vuota.
Parametri
-
id
stringa
-
callback
funzione elemento facoltativo
Il parametro
callbackha il seguente aspetto:() => void
Resi
-
Promise<void>
Chrome 90 e versioni successiveLe promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
removeTree()
chrome.bookmarks.removeTree(
id: string,
callback?: function,
): Promise<void>
Rimuove in modo ricorsivo una cartella di preferiti.
Parametri
-
id
stringa
-
callback
funzione elemento facoltativo
Il parametro
callbackha il seguente aspetto:() => void
Resi
-
Promise<void>
Chrome 90 e versioni successiveLe promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
search()
chrome.bookmarks.search(
query: string | object,
callback?: function,
): Promise<BookmarkTreeNode[]>
Cerca i BookmarkTreeNodes corrispondenti alla query specificata. Le query specificate con un oggetto producono BookmarkTreeNodes corrispondenti a tutte le proprietà specificate.
Parametri
-
query
string | object
Una stringa di parole e frasi tra virgolette che vengono confrontate con gli URL e i titoli dei preferiti oppure un oggetto. Se si tratta di un oggetto, è possibile specificare le proprietà
query,urletitlee verranno generati i preferiti corrispondenti a tutte le proprietà specificate.-
query
stringa facoltativa
Una stringa di parole e frasi tra virgolette che vengono confrontate con gli URL e i titoli dei preferiti.
-
titolo
stringa facoltativa
Il titolo del preferito; corrisponde esattamente.
-
url
stringa facoltativa
L'URL del preferito; corrisponde esattamente. Tieni presente che le cartelle non hanno un URL.
-
-
callback
funzione elemento facoltativo
Il parametro
callbackha il seguente aspetto:(results: BookmarkTreeNode[]) => void
-
risultati
-
Resi
-
Promise<BookmarkTreeNode[]>
Chrome 90 e versioni successiveLe promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
update()
chrome.bookmarks.update(
id: string,
changes: object,
callback?: function,
): Promise<BookmarkTreeNode>
Aggiorna le proprietà di un preferito o di una cartella. Specifica solo le proprietà che vuoi modificare. Le proprietà non specificate rimarranno invariate. Nota: al momento sono supportati solo "title" e "url".
Parametri
-
id
stringa
-
modifiche
oggetto
-
titolo
stringa facoltativa
-
url
stringa facoltativa
-
-
callback
funzione elemento facoltativo
Il parametro
callbackha il seguente aspetto:(result: BookmarkTreeNode) => void
-
risultato
-
Resi
-
Promise<BookmarkTreeNode>
Chrome 90 e versioni successiveLe promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
Eventi
onChanged
chrome.bookmarks.onChanged.addListener(
callback: function,
)
Attivato quando un preferito o una cartella cambiano. Nota: al momento, questa operazione viene attivata solo dalle modifiche al titolo e all'URL.
Parametri
-
callback
funzione
Il parametro
callbackha il seguente aspetto:(id: string, changeInfo: object) => void
-
id
stringa
-
changeInfo
oggetto
-
titolo
stringa
-
url
stringa facoltativa
-
-
onChildrenReordered
chrome.bookmarks.onChildrenReordered.addListener(
callback: function,
)
Attivato quando l'ordine degli elementi secondari di una cartella è cambiato a causa dell'ordinamento nell'interfaccia utente. Questo metodo non viene chiamato come risultato di un move().
Parametri
-
callback
funzione
Il parametro
callbackha il seguente aspetto:(id: string, reorderInfo: object) => void
-
id
stringa
-
reorderInfo
oggetto
-
childIds
string[]
-
-
onCreated
chrome.bookmarks.onCreated.addListener(
callback: function,
)
Attivato quando viene creato un preferito o una cartella.
Parametri
-
callback
funzione
Il parametro
callbackha il seguente aspetto:(id: string, bookmark: BookmarkTreeNode) => void
-
id
stringa
-
Preferito
-
onImportBegan
chrome.bookmarks.onImportBegan.addListener(
callback: function,
)
Attivato quando viene avviata una sessione di importazione dei preferiti. Gli osservatori costosi dovrebbero ignorare gli aggiornamenti onCreated fino all'attivazione di onImportEnded. Gli osservatori devono comunque gestire immediatamente le altre notifiche.
Parametri
-
callback
funzione
Il parametro
callbackha il seguente aspetto:() => void
onImportEnded
chrome.bookmarks.onImportEnded.addListener(
callback: function,
)
Attivato al termine di una sessione di importazione dei preferiti.
Parametri
-
callback
funzione
Il parametro
callbackha il seguente aspetto:() => void
onMoved
chrome.bookmarks.onMoved.addListener(
callback: function,
)
Attivato quando un preferito o una cartella vengono spostati in un'altra cartella principale.
Parametri
-
callback
funzione
Il parametro
callbackha il seguente aspetto:(id: string, moveInfo: object) => void
-
id
stringa
-
moveInfo
oggetto
-
indice
numero
-
oldIndex
numero
-
oldParentId
stringa
-
parentId
stringa
-
-
onRemoved
chrome.bookmarks.onRemoved.addListener(
callback: function,
)
Attivato quando un preferito o una cartella vengono rimossi. Quando una cartella viene rimossa in modo ricorsivo, viene attivata una singola notifica per la cartella e nessuna per i relativi contenuti.
Parametri
-
callback
funzione
Il parametro
callbackha il seguente aspetto:(id: string, removeInfo: object) => void
-
id
stringa
-
removeInfo
oggetto
-
indice
numero
-
nodoChrome 48 e versioni successive
-
parentId
stringa
-
-