Beschrijving
 Gebruik de chrome.cookies API om cookies op te vragen en te wijzigen, en om op de hoogte te worden gesteld wanneer ze veranderen.
Machtigingen
cookies Om de cookies-API te gebruiken, declareert u de toestemming "cookies" in uw manifest, samen met de hostmachtigingen voor alle hosts waarvan u de cookies wilt raadplegen. Bijvoorbeeld:
{
  "name": "My extension",
  ...
  "host_permissions": [
    "*://*.google.com/"
  ],
  "permissions": [
    "cookies"
  ],
  ...
}
Partitioneren
Gepartitioneerde cookies stellen een site in staat om aan te geven dat bepaalde cookies gekoppeld moeten worden aan de oorsprong van het toplevelframe. Dit betekent bijvoorbeeld dat als site A is ingebed met behulp van een iframe in site B en site C, de ingebedde versies van een gepartitioneerde cookie van A verschillende waarden kunnen hebben op B en C.
 Standaard werken alle API-methoden op ongepartitioneerde cookies. De eigenschap partitionKey kan worden gebruikt om dit gedrag te negeren.
Zie Opslag en cookies voor meer informatie over de algemene impact van partitionering voor extensies.
Voorbeelden
Een eenvoudig voorbeeld van het gebruik van de cookies-API vindt u in de map examples/api/cookies . Zie Voorbeelden voor andere voorbeelden en hulp bij het bekijken van de broncode.
Typen
Cookie
Geeft informatie weer over een HTTP-cookie.
Eigenschappen
- domeinsnaar Het domein van de cookie (bijv. "www.google.com", "example.com"). 
- vervaldatumnummer optioneel De vervaldatum van de cookie, uitgedrukt in seconden sinds het UNIX-tijdperk. Niet beschikbaar voor sessiecookies. 
- Alleen hostBooleaanse Waar als de cookie een host-only cookie is (d.w.z. de host van een aanvraag moet exact overeenkomen met het domein van de cookie). 
- httpOnlyBooleaanse Waar als de cookie is gemarkeerd als HttpOnly (dat wil zeggen dat de cookie niet toegankelijk is voor client-side scripts). 
- naamsnaar De naam van het koekje. 
- partitiesleutelCookiePartitionKey optioneel Chroom 119+De partitiesleutel voor het lezen of wijzigen van cookies met het kenmerk Partitioned. 
- padsnaar Het pad van de cookie. 
- dezelfde siteChroom 51+De same-site status van de cookie (d.w.z. of de cookie wordt verzonden met cross-site verzoeken). 
- zekerBooleaanse Waar als de cookie is gemarkeerd als beveiligd (d.w.z. dat het bereik beperkt is tot beveiligde kanalen, doorgaans HTTPS). 
- sessieBooleaanse Waar als de cookie een sessiecookie is, in tegenstelling tot een permanente cookie met een vervaldatum. 
- winkel-IDsnaar De ID van de cookie-opslag die deze cookie bevat, zoals opgegeven in getAllCookieStores(). 
- waardesnaar De waarde van het koekje. 
CookieDetails
Gegevens om de cookie te identificeren.
Eigenschappen
- naamsnaar De naam van de cookie waartoe toegang moet worden verkregen. 
- partitiesleutelCookiePartitionKey optioneel Chroom 119+De partitiesleutel voor het lezen of wijzigen van cookies met het kenmerk Partitioned. 
- winkel-IDstring optioneel De ID van de cookieopslag waarin naar de cookie moet worden gezocht. Standaard wordt de cookieopslag van de huidige uitvoeringscontext gebruikt. 
- urlsnaar De URL waaraan de cookie is gekoppeld. Dit argument kan een volledige URL zijn. In dat geval worden alle gegevens na het URL-pad (bijvoorbeeld de querystring) genegeerd. Als de hostmachtigingen voor deze URL niet zijn opgegeven in het manifestbestand, mislukt de API-aanroep. 
CookiePartitionKey
Geeft de partitiesleutel van een gepartitioneerde cookie weer.
Eigenschappen
- heeftCrossSiteAncestorboolean optioneel Chroom 130+Geeft aan of de cookie is ingesteld in een cross-sitecontext. Dit voorkomt dat een site op het hoogste niveau die is ingebed in een cross-sitecontext, toegang krijgt tot cookies die zijn ingesteld door de site op het hoogste niveau in een same-sitecontext. 
- topLevelSitestring optioneel De site op het hoogste niveau waar de gepartitioneerde cookie beschikbaar is. 
CookieStore
Vertegenwoordigt een cookieopslag in de browser. Een incognitovenster gebruikt bijvoorbeeld een aparte cookieopslag dan een niet-incognitovenster.
Eigenschappen
- idsnaar De unieke identificatie voor de cookie-opslag. 
- tabbladennummer[] Identificatiegegevens van alle browsertabbladen die deze cookie-opslag delen. 
FrameDetails
Details om het frame te identificeren.
Eigenschappen
- document-IDstring optioneel De unieke identificatiecode voor het document. Als de frame-ID en/of tab-ID worden opgegeven, wordt gevalideerd of deze overeenkomen met het document dat is gevonden met de opgegeven document-ID. 
- frame-IDnummer optioneel De unieke identificatie voor het frame binnen het tabblad. 
- tabbladIdnummer optioneel De unieke identificatie voor het tabblad met het frame. 
OnChangedCause
De onderliggende reden achter de wijziging van de cookie. Als een cookie is ingevoegd of verwijderd via een expliciete aanroep van "chrome.cookies.remove", is "cause" "explicit". Als een cookie automatisch is verwijderd vanwege een verlopen datum, is "cause" "expired". Als een cookie is verwijderd omdat deze is overschreven met een reeds verlopen datum, is "cause" ingesteld op "expired_overwrite". Als een cookie automatisch is verwijderd vanwege garbage collection, is "cause" "evicted". Als een cookie automatisch is verwijderd vanwege een "set" aanroep die de cookie overschreef, is "cause" "overwrite". Plan uw reactie dienovereenkomstig.
Enum
 "uitgezet"   "verlopen"   "expliciet"   "verlopen_overschrijven"   "overschrijven" 
SameSiteStatus
De 'SameSite'-status van een cookie (https://tools.ietf.org/html/draft-west-first-party-cookies). 'no_restriction' komt overeen met een cookie die is ingesteld met 'SameSite=None', 'lax' met 'SameSite=Lax' en 'strict' met 'SameSite=Strict'. 'unspecified' komt overeen met een cookie die is ingesteld zonder het kenmerk SameSite.
Enum
 "geen_beperking"   "laks"   "streng"   "niet gespecificeerd" 
Methoden
get()
chrome.cookies.get(
details: CookieDetails,
): Promise<Cookie | undefined>
Haalt informatie op over één cookie. Als er meer dan één cookie met dezelfde naam bestaat voor de opgegeven URL, wordt de cookie met het langste pad geretourneerd. Voor cookies met dezelfde padlengte wordt de cookie met de vroegste aanmaaktijd geretourneerd.
Parameters
- details
Retourneren
- Belofte< Cookie | undefined> Chroom 88+
getAll()
chrome.cookies.getAll(
details: object,
): Promise<Cookie[]>
Haalt alle cookies op uit één cookieopslag die overeenkomen met de opgegeven informatie. De geretourneerde cookies worden gesorteerd, met de cookies met het langste pad als eerste. Als meerdere cookies dezelfde padlengte hebben, worden de cookies met de vroegste aanmaaktijd als eerste weergegeven. Deze methode haalt alleen cookies op voor domeinen waarvoor de extensie hostmachtigingen heeft.
Parameters
- detailsvoorwerp Informatie om de opgehaalde cookies te filteren. - domeinstring optioneel Beperkt de opgehaalde cookies tot de domeinen die overeenkomen met dit domein of subdomeinen hiervan zijn. 
- naamstring optioneel Filtert de cookies op naam. 
- partitiesleutelCookiePartitionKey optioneel Chroom 119+De partitiesleutel voor het lezen of wijzigen van cookies met het kenmerk Partitioned. 
- padstring optioneel Beperkt de opgehaalde cookies tot die cookies waarvan het pad exact overeenkomt met deze tekenreeks. 
- zekerboolean optioneel Filtert de cookies op basis van hun beveiligde eigenschap. 
- sessieboolean optioneel Filtert sessiecookies en permanente cookies. 
- winkel-IDstring optioneel De cookie-opslag waaruit cookies worden opgehaald. Indien weggelaten, wordt de cookie-opslag van de huidige uitvoeringscontext gebruikt. 
- urlstring optioneel Beperkt de opgehaalde cookies tot de cookies die overeenkomen met de opgegeven URL. 
 
Retourneren
- Belofte< Cookie []> Chroom 88+
getAllCookieStores()
chrome.cookies.getAllCookieStores(): Promise<CookieStore[]>
Geeft een overzicht van alle bestaande cookieopslagplaatsen.
Retourneren
- Belofte< CookieStore []> Chroom 88+
getPartitionKey()
chrome.cookies.getPartitionKey(
details: FrameDetails,
): Promise<object>
De partitiesleutel voor het aangegeven frame.
Parameters
- details
Retourneren
- Belofte<object> 
remove()
chrome.cookies.remove(
details: CookieDetails,
): Promise<object | undefined>
Verwijdert een cookie op basis van de naam.
Parameters
- details
Retourneren
- Belofte<object | undefined> Chroom 88+
set()
chrome.cookies.set(
details: object,
): Promise<Cookie | undefined>
Plaatst een cookie met de opgegeven cookiegegevens. Kan eventuele gelijkwaardige cookies overschrijven.
Parameters
- detailsvoorwerp Details over de cookie die wordt geplaatst. - domeinstring optioneel Het domein van de cookie. Indien weggelaten, wordt de cookie een host-only cookie. 
- vervaldatumnummer optioneel De vervaldatum van de cookie, uitgedrukt in het aantal seconden sinds het UNIX-tijdperk. Indien weggelaten, wordt de cookie een sessiecookie. 
- httpOnlyboolean optioneel Of de cookie als HttpOnly moet worden gemarkeerd. Standaard is dit false. 
- naamstring optioneel De naam van de cookie. Standaard leeg als deze wordt weggelaten. 
- partitiesleutelCookiePartitionKey optioneel Chroom 119+De partitiesleutel voor het lezen of wijzigen van cookies met het kenmerk Partitioned. 
- padstring optioneel Het pad van de cookie. Standaard is dit het padgedeelte van de url-parameter. 
- dezelfde siteSameSiteStatus optioneel Chroom 51+De Same-Site-status van de cookie. Standaard is dit 'niet gespecificeerd'. Als dit veld wordt weggelaten, wordt de cookie ingesteld zonder dat er een SameSite-kenmerk is opgegeven. 
- zekerboolean optioneel Of de cookie als veilig moet worden gemarkeerd. Standaard is dit false. 
- winkel-IDstring optioneel De ID van de cookieopslag waarin de cookie moet worden geplaatst. Standaard wordt de cookie geplaatst in de cookieopslag van de huidige uitvoeringscontext. 
- urlsnaar De aanvraag-URI die aan de cookie-instelling moet worden gekoppeld. Deze waarde kan van invloed zijn op de standaarddomein- en padwaarden van de aangemaakte cookie. Als de hostmachtigingen voor deze URL niet in het manifestbestand zijn opgegeven, mislukt de API-aanroep. 
- waardestring optioneel De waarde van de cookie. Standaard leeg indien weggelaten. 
 
Retourneren
- Belofte< Cookie | undefined> Chroom 88+
Evenementen
onChanged
chrome.cookies.onChanged.addListener(
callback: function,
)
Wordt geactiveerd wanneer een cookie wordt geplaatst of verwijderd. Houd er rekening mee dat het bijwerken van de eigenschappen van een cookie in twee stappen wordt uitgevoerd: de bij te werken cookie wordt eerst volledig verwijderd, wat een melding genereert met de "oorzaak" "overschrijven". Daarna wordt een nieuwe cookie geschreven met de bijgewerkte waarden, wat een tweede melding genereert met de "oorzaak" "expliciet".
Parameters
- terugbellenfunctie De callbackziet er als volgt uit:(changeInfo: object) => void - changeInfovoorwerp - oorzaakDe onderliggende reden achter de verandering van de cookie. 
- koekjeInformatie over de cookie die is geplaatst of verwijderd. 
- VERWIJDERDBooleaanse Waar als een cookie is verwijderd.