refresh date: 2026-09-25 robots: noindex
Descrizione
Utilizza l'API chrome.cookies per eseguire query e modificare i cookie e per ricevere notifiche quando cambiano.
Autorizzazioni
cookiesManifest
Per utilizzare l'API Cookies, devi dichiarare l'autorizzazione "cookies" nel manifest, insieme alle autorizzazioni host per tutti gli host ai cui cookie vuoi accedere. Ad esempio:
{
"name": "My extension",
...
"host_permissions": [
"*://*.google.com/"
],
"permissions": [
"cookies"
],
...
}
Partizionamento
I cookie con stato partizionato consentono a un sito di contrassegnare determinati cookie in modo che vengano associati all'origine del frame di primo livello. Ciò significa che se il sito A è incorporato utilizzando un iframe nel sito B e nel sito C, un cookie con stato partizionato può avere un valore diverso in ciascuno.
chrome.cookies non supporta il partizionamento, il che significa che tutti i metodi leggono e scrivono i cookie da tutte le partizioni. Il metodo cookies.set() memorizza i cookie nella partizione predefinita.
Per informazioni dettagliate sull'impatto generale del partizionamento per le estensioni, consulta Spazio di archiviazione e cookie.
Esempi
Puoi trovare un semplice esempio di utilizzo dell'API Cookies nella directory examples/api/cookies. Per altri esempi e per assistenza nella visualizzazione del codice sorgente, consulta Esempi.
Tipi
Cookie
Rappresenta le informazioni su un cookie HTTP.
Proprietà
-
dominio
stringa
Il dominio del cookie (ad es. "www.google.com", "example.com").
-
expirationDate
number optional
La data di scadenza del cookie espressa come numero di secondi dall'epoca di Unix. Non fornito per i cookie di sessione.
-
hostOnly
booleano
True se il cookie è un cookie solo host (ovvero l'host di una richiesta deve corrispondere esattamente al dominio del cookie).
-
httpOnly
booleano
True se il cookie è contrassegnato come HttpOnly (ovvero il cookie non è accessibile agli script lato client).
-
nome
stringa
Il nome del cookie.
-
partitionKey
CookiePartitionKey facoltativo
Chrome 119 e versioni successiveLa chiave di partizione per la lettura o la modifica dei cookie con l'attributo Partitioned.
-
percorso
stringa
Il percorso del cookie.
-
sameSiteChrome 51 e versioni successive
Lo stato SameSite del cookie (ovvero se il cookie viene inviato con richieste cross-site).
-
sicuro
booleano
True se il cookie è contrassegnato come sicuro (ovvero il suo ambito è limitato ai canali sicuri, in genere HTTPS).
-
sessione
booleano
True se il cookie è un cookie di sessione, anziché un cookie permanente con una data di scadenza.
-
storeId
stringa
L'ID dell'archivio cookie contenente questo cookie, come fornito in getAllCookieStores().
-
valore
stringa
Il valore del cookie.
CookieDetails
Dettagli per identificare il cookie.
Proprietà
-
nome
stringa
Il nome del cookie a cui accedere.
-
partitionKey
CookiePartitionKey facoltativo
Chrome 119 e versioni successiveLa chiave di partizione per la lettura o la modifica dei cookie con l'attributo Partitioned.
-
storeId
stringa facoltativa
L'ID del cookie store in cui cercare il cookie. Per impostazione predefinita, verrà utilizzato l'archivio dei cookie del contesto di esecuzione corrente.
-
url
stringa
L'URL a cui è associato il cookie a cui accedere. Questo argomento può essere un URL completo, nel qual caso tutti i dati che seguono il percorso dell'URL (ad es. la stringa di query) vengono semplicemente ignorati. Se le autorizzazioni host per questo URL non sono specificate nel file manifest, la chiamata API non andrà a buon fine.
CookiePartitionKey
Rappresenta la chiave di partizione di un cookie con stato partizionato.
Proprietà
-
hasCrossSiteAncestor
boolean facoltativo
Chrome 130 e versioni successiveIndica se il cookie è stato impostato in un contesto cross-site. In questo modo, un sito di primo livello incorporato in un contesto cross-site non può accedere ai cookie impostati dal sito di primo livello in un contesto same-site.
-
topLevelSite
stringa facoltativa
Il sito di primo livello in cui è disponibile il cookie con stato partizionato.
CookieStore
Rappresenta un archivio di cookie nel browser. Ad esempio, una finestra in modalità di navigazione in incognito utilizza un archivio di cookie separato da una finestra non in incognito.
Proprietà
-
id
stringa
L'identificatore univoco del cookie store.
-
tabIds
number[]
Identificatori di tutte le schede del browser che condividono questo spazio di archiviazione dei cookie.
FrameDetails
Dettagli per identificare il frame.
Proprietà
-
documentId
stringa facoltativa
L'identificatore univoco del documento. Se vengono forniti frameId e/o tabId, verranno convalidati in modo che corrispondano al documento trovato tramite l'ID documento fornito.
-
frameId
number optional
L'identificatore univoco del frame all'interno della scheda.
-
tabId
number optional
L'identificatore univoco della scheda contenente il frame.
OnChangedCause
Il motivo alla base della modifica del cookie. Se un cookie è stato inserito o rimosso tramite una chiamata esplicita a "chrome.cookies.remove", "cause" sarà "explicit". Se un cookie è stato rimosso automaticamente a causa della scadenza, il valore di "cause" sarà "expired". Se un cookie è stato rimosso perché è stato sovrascritto con una data di scadenza già scaduta, "cause" verrà impostato su "expired_overwrite". Se un cookie è stato rimosso automaticamente a causa della garbage collection, il valore di "cause" sarà "evicted". Se un cookie è stato rimosso automaticamente a causa di una chiamata "set" che lo ha sovrascritto, "cause" sarà "overwrite". Pianifica la tua risposta di conseguenza.
Enum
"evicted"
"expired"
"explicit"
"expired_overwrite"
"overwrite"
SameSiteStatus
Lo stato "SameSite" di un cookie (https://tools.ietf.org/html/draft-west-first-party-cookies). "no_restriction" corrisponde a un cookie impostato con "SameSite=None", "lax" a "SameSite=Lax" e "strict" a "SameSite=Strict". "unspecified" corrisponde a un cookie impostato senza l'attributo SameSite.
Enum
"no_restriction"
"lax"
"strict"
"unspecified"
Metodi
get()
chrome.cookies.get(
details: CookieDetails,
callback?: function,
): Promise<Cookie | undefined>
Recupera le informazioni su un singolo cookie. Se per l'URL specificato esistono più cookie con lo stesso nome, verrà restituito quello con il percorso più lungo. Per i cookie con la stessa lunghezza del percorso, verrà restituito il cookie con la data di creazione meno recente.
Parametri
Resi
-
Promise<Cookie | undefined>
Chrome 88 e versioni successiveLe promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
getAll()
chrome.cookies.getAll(
details: object,
callback?: function,
): Promise<Cookie[]>
Recupera tutti i cookie da un singolo spazio di archiviazione dei cookie che corrispondono alle informazioni fornite. I cookie restituiti verranno ordinati, con quelli con il percorso più lungo per primi. Se più cookie hanno la stessa lunghezza del percorso, verranno visualizzati per primi quelli con la data/ora di creazione più recente. Questo metodo recupera i cookie solo per i domini per i quali l'estensione dispone delle autorizzazioni host.
Parametri
-
dettagli
oggetto
Informazioni per filtrare i cookie recuperati.
-
dominio
stringa facoltativa
Limita i cookie recuperati a quelli i cui domini corrispondono a questo o sono sottodomini di questo.
-
nome
stringa facoltativa
Filtra i cookie per nome.
-
partitionKey
CookiePartitionKey facoltativo
Chrome 119 e versioni successiveLa chiave di partizione per la lettura o la modifica dei cookie con l'attributo Partitioned.
-
percorso
stringa facoltativa
Limita i cookie recuperati a quelli il cui percorso corrisponde esattamente a questa stringa.
-
sicuro
boolean facoltativo
Filtra i cookie in base alla proprietà Secure.
-
sessione
boolean facoltativo
Filtra i cookie di sessione rispetto ai cookie persistenti.
-
storeId
stringa facoltativa
L'archivio di cookie da cui recuperare i cookie. Se omesso, verrà utilizzato l'archivio dei cookie del contesto di esecuzione corrente.
-
url
stringa facoltativa
Limita i cookie recuperati a quelli che corrispondono all'URL specificato.
-
-
callback
funzione elemento facoltativo
Il parametro
callbackha il seguente aspetto:(cookies: Cookie[]) => void
-
cookie
Cookie[]
Tutti i cookie esistenti non scaduti che corrispondono alle informazioni sui cookie fornite.
-
Resi
-
Promise<Cookie[]>
Chrome 88 e versioni successiveLe promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
getAllCookieStores()
chrome.cookies.getAllCookieStores(
callback?: function,
): Promise<CookieStore[]>
Elenca tutti i cookie store esistenti.
Parametri
-
callback
funzione elemento facoltativo
Il parametro
callbackha il seguente aspetto:(cookieStores: CookieStore[]) => void
-
cookieStores
Tutti i cookie store esistenti.
-
Resi
-
Promise<CookieStore[]>
Chrome 88 e versioni successiveLe promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
getPartitionKey()
chrome.cookies.getPartitionKey(
details: FrameDetails,
callback?: function,
): Promise<object>
La chiave di partizione per il frame indicato.
Parametri
-
dettagli
-
callback
funzione elemento facoltativo
Il parametro
callbackha il seguente aspetto:(details: object) => void
-
dettagli
oggetto
Contiene i dettagli della chiave di partizione recuperata.
-
partitionKey
La chiave di partizione per la lettura o la modifica dei cookie con l'attributo Partitioned.
-
-
Resi
-
Promise<object>
Le promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
remove()
chrome.cookies.remove(
details: CookieDetails,
callback?: function,
): Promise<object | undefined>
Elimina un cookie in base al nome.
Parametri
-
dettagli
-
callback
funzione elemento facoltativo
Il parametro
callbackha il seguente aspetto:(details?: object) => void
-
dettagli
object facoltativo
Contiene i dettagli del cookie rimosso. Se la rimozione non va a buon fine per qualsiasi motivo, la promise verrà rifiutata.
-
nome
stringa
Il nome del cookie rimosso.
-
partitionKey
CookiePartitionKey facoltativo
Chrome 119 e versioni successiveLa chiave di partizione per la lettura o la modifica dei cookie con l'attributo Partitioned.
-
storeId
stringa
L'ID del cookie store da cui è stato rimosso il cookie.
-
url
stringa
L'URL associato al cookie rimosso.
-
-
Resi
-
Promise<object | undefined>
Chrome 88 e versioni successiveLe promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
set()
chrome.cookies.set(
details: object,
callback?: function,
): Promise<Cookie | undefined>
Imposta un cookie con i dati del cookie forniti; potrebbe sovrascrivere i cookie equivalenti, se esistenti.
Parametri
-
dettagli
oggetto
Dettagli sul cookie impostato.
-
dominio
stringa facoltativa
Il dominio del cookie. Se omesso, il cookie diventa un cookie solo host.
-
expirationDate
number optional
La data di scadenza del cookie espressa come numero di secondi dall'epoca di Unix. Se omesso, il cookie diventa un cookie di sessione.
-
httpOnly
boolean facoltativo
Indica se il cookie deve essere contrassegnato come HttpOnly. Il valore predefinito è false.
-
nome
stringa facoltativa
Il nome del cookie. Se omesso, il valore predefinito è vuoto.
-
partitionKey
CookiePartitionKey facoltativo
Chrome 119 e versioni successiveLa chiave di partizione per la lettura o la modifica dei cookie con l'attributo Partitioned.
-
percorso
stringa facoltativa
Il percorso del cookie. Il valore predefinito è la parte del percorso del parametro URL.
-
sameSite
SameSiteStatus facoltativo
Chrome 51 e versioni successiveLo stato same-site del cookie. Il valore predefinito è "unspecified", ovvero, se omesso, il cookie viene impostato senza specificare un attributo SameSite.
-
sicuro
boolean facoltativo
Indica se il cookie deve essere contrassegnato come sicuro. Il valore predefinito è false.
-
storeId
stringa facoltativa
L'ID del cookie store in cui impostare il cookie. Per impostazione predefinita, il cookie viene impostato nell'archivio dei cookie del contesto di esecuzione corrente.
-
url
stringa
L'URI della richiesta da associare all'impostazione del cookie. Questo valore può influire sui valori predefiniti di dominio e percorso del cookie creato. Se le autorizzazioni host per questo URL non sono specificate nel file manifest, la chiamata API non andrà a buon fine.
-
valore
stringa facoltativa
Il valore del cookie. Se omesso, il valore predefinito è vuoto.
-
-
callback
funzione elemento facoltativo
Il parametro
callbackha il seguente aspetto:(cookie?: Cookie) => void
-
biscotto
Cookie facoltativo
Contiene i dettagli del cookie impostato. Se l'impostazione non va a buon fine per qualsiasi motivo, la promise verrà rifiutata.
-
Resi
-
Promise<Cookie | undefined>
Chrome 88 e versioni successiveLe promise sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
Eventi
onChanged
chrome.cookies.onChanged.addListener(
callback: function,
)
Attivato quando un cookie viene impostato o rimosso. Come caso speciale, tieni presente che l'aggiornamento delle proprietà di un cookie viene implementato come un processo in due passaggi: il cookie da aggiornare viene prima rimosso completamente, generando una notifica con "cause" di "overwrite" . In seguito, viene scritto un nuovo cookie con i valori aggiornati, generando una seconda notifica con "cause" "explicit".
Parametri
-
callback
funzione
Il parametro
callbackha il seguente aspetto:(changeInfo: object) => void
-
changeInfo
oggetto
-
causa
Il motivo alla base della modifica del cookie.
-
biscotto
Informazioni sul cookie impostato o rimosso.
-
rimosso
booleano
True se un cookie è stato rimosso.
-
-