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
- domein
snaar
Het domein van de cookie (bijv. "www.google.com", "example.com").
- vervaldatum
nummer optioneel
De vervaldatum van de cookie, uitgedrukt in seconden sinds het UNIX-tijdperk. Niet beschikbaar voor sessiecookies.
- Alleen host
Booleaanse
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).
- httpOnly
Booleaanse
Waar als de cookie is gemarkeerd als HttpOnly (dat wil zeggen dat de cookie niet toegankelijk is voor client-side scripts).
- naam
snaar
De naam van het koekje.
- partitiesleutel
CookiePartitionKey optioneel
Chroom 119+De partitiesleutel voor het lezen of wijzigen van cookies met het kenmerk Partitioned.
- pad
snaar
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).
- zeker
Booleaanse
Waar als de cookie is gemarkeerd als beveiligd (d.w.z. dat het bereik beperkt is tot beveiligde kanalen, doorgaans HTTPS).
- sessie
Booleaanse
Waar als de cookie een sessiecookie is, in tegenstelling tot een permanente cookie met een vervaldatum.
- winkel-ID
snaar
De ID van de cookie-opslag die deze cookie bevat, zoals opgegeven in getAllCookieStores().
- waarde
snaar
De waarde van het koekje.
CookieDetails
Gegevens om de cookie te identificeren.
Eigenschappen
- naam
snaar
De naam van de cookie waartoe toegang moet worden verkregen.
- partitiesleutel
CookiePartitionKey optioneel
Chroom 119+De partitiesleutel voor het lezen of wijzigen van cookies met het kenmerk Partitioned.
- winkel-ID
string optioneel
De ID van de cookieopslag waarin naar de cookie moet worden gezocht. Standaard wordt de cookieopslag van de huidige uitvoeringscontext gebruikt.
- url
snaar
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
- heeftCrossSiteAncestor
boolean 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.
- topLevelSite
string 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
- id
snaar
De unieke identificatie voor de cookie-opslag.
- tabbladen
nummer[]
Identificatiegegevens van alle browsertabbladen die deze cookie-opslag delen.
FrameDetails
Details om het frame te identificeren.
Eigenschappen
- document-ID
string 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-ID
nummer optioneel
De unieke identificatie voor het frame binnen het tabblad.
- tabbladId
nummer 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
- details
voorwerp
Informatie om de opgehaalde cookies te filteren.
- domein
string optioneel
Beperkt de opgehaalde cookies tot de domeinen die overeenkomen met dit domein of subdomeinen hiervan zijn.
- naam
string optioneel
Filtert de cookies op naam.
- partitiesleutel
CookiePartitionKey optioneel
Chroom 119+De partitiesleutel voor het lezen of wijzigen van cookies met het kenmerk Partitioned.
- pad
string optioneel
Beperkt de opgehaalde cookies tot die cookies waarvan het pad exact overeenkomt met deze tekenreeks.
- zeker
boolean optioneel
Filtert de cookies op basis van hun beveiligde eigenschap.
- sessie
boolean optioneel
Filtert sessiecookies en permanente cookies.
- winkel-ID
string optioneel
De cookie-opslag waaruit cookies worden opgehaald. Indien weggelaten, wordt de cookie-opslag van de huidige uitvoeringscontext gebruikt.
- url
string 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
- details
voorwerp
Details over de cookie die wordt geplaatst.
- domein
string optioneel
Het domein van de cookie. Indien weggelaten, wordt de cookie een host-only cookie.
- vervaldatum
nummer optioneel
De vervaldatum van de cookie, uitgedrukt in het aantal seconden sinds het UNIX-tijdperk. Indien weggelaten, wordt de cookie een sessiecookie.
- httpOnly
boolean optioneel
Of de cookie als HttpOnly moet worden gemarkeerd. Standaard is dit false.
- naam
string optioneel
De naam van de cookie. Standaard leeg als deze wordt weggelaten.
- partitiesleutel
CookiePartitionKey optioneel
Chroom 119+De partitiesleutel voor het lezen of wijzigen van cookies met het kenmerk Partitioned.
- pad
string optioneel
Het pad van de cookie. Standaard is dit het padgedeelte van de url-parameter.
- dezelfde site
SameSiteStatus 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.
- zeker
boolean optioneel
Of de cookie als veilig moet worden gemarkeerd. Standaard is dit false.
- winkel-ID
string optioneel
De ID van de cookieopslag waarin de cookie moet worden geplaatst. Standaard wordt de cookie geplaatst in de cookieopslag van de huidige uitvoeringscontext.
- url
snaar
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.
- waarde
string 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
- terugbellen
functie
De
callback
ziet er als volgt uit:(changeInfo: object) => void
- changeInfo
voorwerp
- oorzaak
De onderliggende reden achter de verandering van de cookie.
- koekje
Informatie over de cookie die is geplaatst of verwijderd.
- VERWIJDERD
Booleaanse
Waar als een cookie is verwijderd.