chroom.cookies

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

Geeft informatie weer over een HTTP-cookie.

Eigenschappen

  • snaar

    Het domein van de cookie (bijv. "www.google.com", "example.com").

  • nummer optioneel

    De vervaldatum van de cookie, uitgedrukt in seconden sinds het UNIX-tijdperk. Niet beschikbaar voor sessiecookies.

  • 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).

  • Booleaanse

    Waar als de cookie is gemarkeerd als HttpOnly (dat wil zeggen dat de cookie niet toegankelijk is voor client-side scripts).

  • snaar

    De naam van het koekje.

  • Chroom 119+

    De partitiesleutel voor het lezen of wijzigen van cookies met het kenmerk Partitioned.

  • snaar

    Het pad van de cookie.

  • Chroom 51+

    De same-site status van de cookie (d.w.z. of de cookie wordt verzonden met cross-site verzoeken).

  • Booleaanse

    Waar als de cookie is gemarkeerd als beveiligd (d.w.z. dat het bereik beperkt is tot beveiligde kanalen, doorgaans HTTPS).

  • Booleaanse

    Waar als de cookie een sessiecookie is, in tegenstelling tot een permanente cookie met een vervaldatum.

  • snaar

    De ID van de cookie-opslag die deze cookie bevat, zoals opgegeven in getAllCookieStores().

  • snaar

    De waarde van het koekje.

CookieDetails

Chroom 88+

Gegevens om de cookie te identificeren.

Eigenschappen

  • naam

    snaar

    De naam van de cookie waartoe toegang moet worden verkregen.

  • partitiesleutel
    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

Chroom 119+

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

Chroom 132+

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

Chroom 44+

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

Chroom 51+

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

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
      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

getPartitionKey()

Chroom 132+
chrome.cookies.getPartitionKey(
  details: FrameDetails,
)
: Promise<object>

De partitiesleutel voor het aangegeven frame.

Parameters

Retourneren

  • Belofte<object>

remove()

chrome.cookies.remove(
  details: CookieDetails,
)
: Promise<object | undefined>

Verwijdert een cookie op basis van de naam.

Parameters

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
      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

      • De onderliggende reden achter de verandering van de cookie.

      • Informatie over de cookie die is geplaatst of verwijderd.

      • VERWIJDERD

        Booleaanse

        Waar als een cookie is verwijderd.