Descrizione
Utilizza l'API chrome.cookies per eseguire query e modificare i cookie e per ricevere una notifica quando cambiano.
Autorizzazioni
cookiesManifest
Per utilizzare l'API Cookies, devi dichiarare l'autorizzazione "cookies" nel file manifest, insieme alle autorizzazioni host per tutti gli host di cui vuoi accedere ai cookie. Ad esempio:
{
  "name": "My extension",
  ...
  "host_permissions": [
    "*://*.google.com/"
  ],
  "permissions": [
    "cookies"
  ],
  ...
}
Partizionamento
I cookie partizionati 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 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, vedi Archiviazione e cookie.
Esempi
Puoi trovare un semplice esempio di utilizzo dell'API per i cookie nella directory examples/api/cookies. Per altri esempi e per assistenza nella visualizzazione del codice sorgente, vedi Esempi.
Tipi
Cookie
Rappresenta le informazioni su un cookie HTTP.
Proprietà
- 
    dominiostringa Il dominio del cookie (ad es. "www.google.com", "example.com"). 
- 
    expirationDatenumber (facoltativo) La data di scadenza del cookie espressa come numero di secondi a partire dal tempo Unix. Non fornito per i cookie di sessione. 
- 
    hostOnlybooleano True se il cookie è un cookie solo host (ovvero l'host di una richiesta deve corrispondere esattamente al dominio del cookie). 
- 
    httpOnlybooleano True se il cookie è contrassegnato come HttpOnly (ovvero il cookie è inaccessibile agli script lato client). 
- 
    nomestringa Il nome del cookie. 
- 
    partitionKeyCookiePartitionKey facoltativo Chrome 119+La chiave di partizione per la lettura o la modifica dei cookie con l'attributo Partitioned. 
- 
    percorsostringa Il percorso del cookie. 
- 
    sameSiteChrome 51+Lo stato same-site del cookie (ovvero se il cookie viene inviato con richieste cross-site). 
- 
    sicurobooleano True se il cookie è contrassegnato come Secure (ovvero il suo ambito è limitato ai canali sicuri, in genere HTTPS). 
- 
    sessionebooleano Vero se il cookie è un cookie di sessione, anziché un cookie persistente con una data di scadenza. 
- 
    storeIdstringa L'ID dell'archivio cookie contenente questo cookie, come fornito in getAllCookieStores(). 
- 
    valorestringa Il valore del cookie. 
CookieDetails
Dettagli per identificare il cookie.
Proprietà
- 
    nomestringa Il nome del cookie a cui accedere. 
- 
    partitionKeyCookiePartitionKey facoltativo Chrome 119+La chiave di partizione per la lettura o la modifica dei cookie con l'attributo Partitioned. 
- 
    storeIdstringa facoltativa L'ID dell'archivio cookie in cui cercare il cookie. Per impostazione predefinita, verrà utilizzato l'archivio dei cookie del contesto di esecuzione corrente. 
- 
    urlstringa L'URL a cui è associato il cookie da 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à
- 
    hasCrossSiteAncestorbooleano facoltativo Chrome 130+Indica 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. 
- 
    topLevelSitestringa 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 della modalità di navigazione in incognito utilizza un archivio cookie separato da una finestra non in incognito.
Proprietà
- 
    idstringa L'identificatore univoco dell'archivio cookie. 
- 
    tabIdsnumber[] Identificatori di tutte le schede del browser che condividono questo spazio di archiviazione dei cookie. 
FrameDetails
Dettagli per identificare il frame.
Proprietà
- 
    documentIdstringa facoltativa L'identificatore univoco del documento. Se vengono forniti frameId e/o tabId, questi verranno convalidati in modo che corrispondano al documento trovato in base all'ID documento fornito. 
- 
    frameIdnumber (facoltativo) L'identificatore univoco del frame all'interno della scheda. 
- 
    tabIdnumber (facoltativo) 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, la "causa" sarà "expired" (scaduto). Se un cookie è stato rimosso perché sovrascritto con una data di scadenza già trascorsa, "cause" verrà impostato su "expired_overwrite". Se un cookie è stato rimosso automaticamente a causa della garbage collection, la "causa" sarà "evicted". Se un cookie è stato rimosso automaticamente a causa di una chiamata "set" che lo ha sovrascritto, la "causa" sarà "sovrascrittura". Pianifica la tua risposta di conseguenza.
Enum
"evicted" 
 
"expired" 
 
"esplicito" 
 
"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" 
 
"rigoroso" 
 
"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 esiste più di un 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 l'ora di creazione meno recente.
Parametri
Resi
- 
            Promise<Cookie | undefined> Chrome 88+Le promesse sono supportate solo per Manifest V3 e versioni successive, 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, quelli con l'ora di creazione più recente verranno visualizzati per primi. Questo metodo recupera solo i cookie per i domini per cui l'estensione dispone delle autorizzazioni host.
Parametri
- 
    dettaglioggetto Informazioni per filtrare i cookie recuperati. - 
    dominiostringa facoltativa Limita i cookie recuperati a quelli i cui domini corrispondono a questo o sono sottodomini. 
- 
    nomestringa facoltativa Filtra i cookie per nome. 
- 
    partitionKeyCookiePartitionKey facoltativo Chrome 119+La chiave di partizione per la lettura o la modifica dei cookie con l'attributo Partitioned. 
- 
    percorsostringa facoltativa Limita i cookie recuperati a quelli il cui percorso corrisponde esattamente a questa stringa. 
- 
    sicurobooleano facoltativo Filtra i cookie in base alla proprietà Sicuro. 
- 
    sessionebooleano facoltativo Filtra i cookie di sessione rispetto a quelli permanenti. 
- 
    storeIdstringa facoltativa L'archivio dei cookie da cui recuperare i cookie. Se omesso, verrà utilizzato l'archivio dei cookie del contesto di esecuzione corrente. 
- 
    urlstringa facoltativa Limita i cookie recuperati a quelli che corrispondono all'URL specificato. 
 
- 
    
- 
    callbackfunzione facoltativa Il parametro callbackha il seguente aspetto:(cookies: Cookie[]) => void - 
    cookieCookie[] Tutti i cookie esistenti e non scaduti che corrispondono alle informazioni sui cookie fornite. 
 
- 
    
Resi
- 
            Promise<Cookie[]> Chrome 88+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback. 
getAllCookieStores()
chrome.cookies.getAllCookieStores(
callback?: function,
): Promise<CookieStore[]>
Elenca tutti gli archivi di cookie esistenti.
Parametri
- 
    callbackfunzione facoltativa Il parametro callbackha il seguente aspetto:(cookieStores: CookieStore[]) => void - 
    cookieStoresTutti gli spazi di archiviazione dei cookie esistenti. 
 
- 
    
Resi
- 
            Promise<CookieStore[]> Chrome 88+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback. 
getPartitionKey()
chrome.cookies.getPartitionKey(
details: FrameDetails,
callback?: function,
): Promise<object>
La chiave di partizionamento per il frame indicato.
Parametri
- 
    dettagli
- 
    callbackfunzione facoltativa Il parametro callbackha il seguente aspetto:(details: object) => void - 
    dettaglioggetto Contiene dettagli sulla chiave di partizione recuperata. - 
    partitionKeyLa chiave di partizione per la lettura o la modifica dei cookie con l'attributo Partitioned. 
 
- 
    
 
- 
    
Resi
- 
            Promise<object> Le promesse sono supportate solo per Manifest V3 e versioni successive, 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
- 
    callbackfunzione facoltativa Il parametro callbackha il seguente aspetto:(details?: object) => void - 
    dettaglioggetto facoltativo Contiene dettagli sul cookie che è stato rimosso. Se la rimozione non è riuscita per qualsiasi motivo, questo valore sarà "null" e verrà impostato runtime.lastError.- 
    nomestringa Il nome del cookie rimosso. 
- 
    partitionKeyCookiePartitionKey facoltativo Chrome 119+La chiave di partizione per la lettura o la modifica dei cookie con l'attributo Partitioned. 
- 
    storeIdstringa L'ID dell'archivio cookie da cui è stato rimosso il cookie. 
- 
    urlstringa L'URL associato al cookie rimosso. 
 
- 
    
 
- 
    
Resi
- 
            Promise<object | undefined> Chrome 88+Le promesse sono supportate solo per Manifest V3 e versioni successive, 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 specificati; può sovrascrivere i cookie equivalenti, se esistenti.
Parametri
- 
    dettaglioggetto Dettagli sul cookie in fase di impostazione. - 
    dominiostringa facoltativa Il dominio del cookie. Se omesso, il cookie diventa un cookie solo host. 
- 
    expirationDatenumber (facoltativo) La data di scadenza del cookie espressa come numero di secondi a partire dal tempo Unix. Se omesso, il cookie diventa un cookie di sessione. 
- 
    httpOnlybooleano facoltativo Indica se il cookie deve essere contrassegnato come HttpOnly. Il valore predefinito è false. 
- 
    nomestringa facoltativa Il nome del cookie. Se omesso, il campo è vuoto per impostazione predefinita. 
- 
    partitionKeyCookiePartitionKey facoltativo Chrome 119+La chiave di partizione per la lettura o la modifica dei cookie con l'attributo Partitioned. 
- 
    percorsostringa facoltativa Il percorso del cookie. Il valore predefinito è la parte del percorso del parametro URL. 
- 
    sameSiteSameSiteStatus facoltativo Chrome 51+Lo stato same-site del cookie. Il valore predefinito è "unspecified", ovvero, se omesso, il cookie viene impostato senza specificare un attributo SameSite. 
- 
    sicurobooleano facoltativo Indica se il cookie deve essere contrassegnato come sicuro. Il valore predefinito è false. 
- 
    storeIdstringa facoltativa L'ID dell'archivio cookie in cui impostare il cookie. Per impostazione predefinita, il cookie viene impostato nell'archivio cookie del contesto di esecuzione corrente. 
- 
    urlstringa 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. 
- 
    valorestringa facoltativa Il valore del cookie. Se omesso, il campo è vuoto per impostazione predefinita. 
 
- 
    
- 
    callbackfunzione facoltativa Il parametro callbackha il seguente aspetto:(cookie?: Cookie) => void - 
    biscottoCookie facoltativo Contiene i dettagli del cookie impostato. Se l'impostazione non è riuscita per qualsiasi motivo, questo valore sarà "null" e verrà impostato runtime.lastError.
 
- 
    
Resi
- 
            Promise<Cookie | undefined> Chrome 88+Le promesse sono supportate solo per Manifest V3 e versioni successive, 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 procedura in due passaggi: il cookie da aggiornare viene prima rimosso completamente, generando una notifica con la "causa" "sovrascrittura" . Successivamente, viene scritto un nuovo cookie con i valori aggiornati, generando una seconda notifica con la "causa" "esplicita".
Parametri
- 
    callbackfunzione Il parametro callbackha il seguente aspetto:(changeInfo: object) => void - 
    changeInfooggetto - 
    causaIl motivo alla base della modifica del cookie. 
- 
    biscottoInformazioni sul cookie impostato o rimosso. 
- 
    rimossobooleano True se un cookie è stato rimosso. 
 
- 
    
 
-