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
bookmarksPer utilizzare l'API bookmarks, devi dichiarare l'autorizzazione "bookmarks" nel manifest dell'estensione. Ad esempio:
{
"name": "My extension",
...
"permissions": [
"bookmarks"
],
...
}
Concetti e utilizzo
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 browser.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.
browser.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.
browser.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 successive browser.* da Chrome 148Data e ora dell'ultima apertura di questo nodo, in millisecondi dall'epoca. Non impostato per le cartelle.
-
folderType
FolderType facoltativo
Chrome 134+ browser.* da Chrome 148Se 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+ browser.* da Chrome 148Indica 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()
browser.bookmarks.create(
bookmark: CreateDetails,
): 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
Resi
-
Promise<BookmarkTreeNode>
Browser Chrome 90 e versioni successive .* da Chrome 148
get()
browser.bookmarks.get(
idOrIdList: string | [string, ...string[]],
): 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
Resi
-
Promise<BookmarkTreeNode[]>
Browser Chrome 90 e versioni successive .* da Chrome 148
getChildren()
browser.bookmarks.getChildren(
id: string,
): Promise<BookmarkTreeNode[]>
Recupera gli elementi secondari dell'ID BookmarkTreeNode specificato.
Parametri
-
id
stringa
Resi
-
Promise<BookmarkTreeNode[]>
Browser Chrome 90 e versioni successive .* da Chrome 148
getRecent()
browser.bookmarks.getRecent(
numberOfItems: number,
): Promise<BookmarkTreeNode[]>
Recupera i preferiti aggiunti di recente.
Parametri
-
numberOfItems
numero
Il numero massimo di elementi da restituire.
Resi
-
Promise<BookmarkTreeNode[]>
Browser Chrome 90 e versioni successive .* da Chrome 148
getSubTree()
browser.bookmarks.getSubTree(
id: string,
): Promise<BookmarkTreeNode[]>
Recupera parte della gerarchia dei preferiti, a partire dal nodo specificato.
Parametri
-
id
stringa
L'ID della radice del sottoalbero da recuperare.
Resi
-
Promise<BookmarkTreeNode[]>
Browser Chrome 90 e versioni successive .* da Chrome 148
getTree()
browser.bookmarks.getTree(): Promise<BookmarkTreeNode[]>
Recupera l'intera gerarchia dei preferiti.
Resi
-
Promise<BookmarkTreeNode[]>
Browser Chrome 90 e versioni successive .* da Chrome 148
move()
browser.bookmarks.move(
id: string,
destination: object,
): Promise<BookmarkTreeNode>
Sposta il BookmarkTreeNode specificato nella posizione fornita.
Parametri
-
id
stringa
-
destinazione
oggetto
-
indice
number optional
-
parentId
stringa facoltativa
-
Resi
-
Promise<BookmarkTreeNode>
Browser Chrome 90 e versioni successive .* da Chrome 148
remove()
browser.bookmarks.remove(
id: string,
): Promise<void>
Rimuove un preferito o una cartella di preferiti vuota.
Parametri
-
id
stringa
Resi
-
Promise<void>
Browser Chrome 90 e versioni successive .* da Chrome 148
removeTree()
browser.bookmarks.removeTree(
id: string,
): Promise<void>
Rimuove in modo ricorsivo una cartella di preferiti.
Parametri
-
id
stringa
Resi
-
Promise<void>
Browser Chrome 90 e versioni successive .* da Chrome 148
search()
browser.bookmarks.search(
query: string | object,
): 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.
-
Resi
-
Promise<BookmarkTreeNode[]>
Browser Chrome 90 e versioni successive .* da Chrome 148
update()
browser.bookmarks.update(
id: string,
changes: object,
): 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
-
Resi
-
Promise<BookmarkTreeNode>
Browser Chrome 90 e versioni successive .* da Chrome 148
Eventi
onChanged
browser.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
browser.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
browser.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
browser.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
browser.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
browser.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
browser.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+ browser.* da Chrome 148
-
parentId
stringa
-
-