Opis
Używaj interfejsu chrome.cookies API do wysyłania zapytań dotyczących plików cookie i ich modyfikowania oraz do otrzymywania powiadomień o ich zmianach.
Uprawnienia
cookiesAby używać interfejsu API plików cookie, zadeklaruj w pliku manifestu uprawnienie "cookies" wraz z uprawnieniami hosta dla wszystkich hostów, do których plików cookie chcesz mieć dostęp. Na przykład:
{
  "name": "My extension",
  ...
  "host_permissions": [
    "*://*.google.com/"
  ],
  "permissions": [
    "cookies"
  ],
  ...
}
Partycjonowanie
Oddzielone pliki cookie umożliwiają witrynie oznaczenie, że niektóre pliki cookie powinny być kluczowane względem pochodzenia ramki najwyższego poziomu. Oznacza to, że jeśli np. witryna A jest umieszczona w ramce iframe w witrynach B i C, umieszczone wersje podzielonego pliku cookie z witryny A mogą mieć różne wartości w witrynach B i C.
Domyślnie wszystkie metody interfejsu API działają na niepodzielonych plikach cookie. Aby zastąpić to działanie, możesz użyć właściwości partitionKey.
Szczegółowe informacje o ogólnym wpływie partycjonowania na rozszerzenia znajdziesz w artykule Miejsce na dane i pliki cookie.
Przykłady
Prosty przykład użycia interfejsu Cookies API znajdziesz w katalogu examples/api/cookies. Więcej przykładów i pomoc w wyświetlaniu kodu źródłowego znajdziesz w sekcji Przykłady.
Typy
Cookie
Zawiera informacje o pliku cookie HTTP.
Właściwości
- 
    domenaciąg znaków Domena pliku cookie (np. „www.google.com”, „example.com”). 
- 
    expirationDatenumber opcjonalny Data wygaśnięcia pliku cookie podana jako liczba sekund od początku czasu uniksowego. Nie jest podawany w przypadku plików cookie sesji. 
- 
    hostOnlyWartość logiczna Wartość „prawda”, jeśli plik cookie jest plikiem cookie tylko dla hosta (tzn. host żądania musi być dokładnie zgodny z domeną pliku cookie). 
- 
    httpOnlyWartość logiczna Wartość Prawda, jeśli plik cookie jest oznaczony jako HttpOnly (tzn. jest niedostępny dla skryptów po stronie klienta). 
- 
    nazwaciąg znaków Nazwa pliku cookie. 
- 
    partitionKeyCookiePartitionKey opcjonalny Chrome 119 lub nowszaKlucz partycji do odczytywania lub modyfikowania plików cookie z atrybutem Partitioned. 
- 
    ścieżkaciąg znaków Ścieżka pliku cookie. 
- 
    sameSiteChrome 51 lub nowszaStan pliku cookie w odniesieniu do tej samej witryny (czyli czy plik cookie jest wysyłany w przypadku żądań z innych witryn). 
- 
    BezpiecznyWartość logiczna Wartość „true”, jeśli plik cookie jest oznaczony jako bezpieczny (tzn. jego zakres jest ograniczony do bezpiecznych kanałów, zwykle HTTPS). 
- 
    sesjaWartość logiczna Wartość „prawda”, jeśli plik cookie jest plikiem cookie sesji, a nie trwałym plikiem cookie z datą ważności. 
- 
    storeIdciąg znaków Identyfikator sklepu z plikami cookie zawierającego ten plik cookie, podany w funkcji getAllCookieStores(). 
- 
    wartośćciąg znaków Wartość pliku cookie. 
CookieDetails
Szczegóły identyfikujące plik cookie.
Właściwości
- 
    nazwaciąg znaków Nazwa pliku cookie, do którego chcesz uzyskać dostęp. 
- 
    partitionKeyCookiePartitionKey opcjonalny Chrome 119 lub nowszaKlucz partycji do odczytywania lub modyfikowania plików cookie z atrybutem Partitioned. 
- 
    storeIdstring opcjonalny Identyfikator sklepu z plikami cookie, w którym należy szukać pliku cookie. Domyślnie używany jest magazyn plików cookie bieżącego kontekstu wykonania. 
- 
    URLciąg znaków Adres URL, z którym powiązany jest plik cookie, do którego chcesz uzyskać dostęp. Ten argument może być pełnym adresem URL.W takim przypadku wszystkie dane znajdujące się po ścieżce adresu URL (np. ciąg zapytania) są po prostu ignorowane. Jeśli w pliku manifestu nie określono uprawnień hosta dla tego adresu URL, wywołanie interfejsu API zakończy się niepowodzeniem. 
CookiePartitionKey
Reprezentuje klucz partycji oddzielonego pliku cookie.
Właściwości
- 
    hasCrossSiteAncestorwartość logiczna opcjonalna Chrome 130 lub nowszaWskazuje, czy plik cookie został ustawiony w kontekście obejmującym wiele witryn. Zapobiega to dostępowi witryny najwyższego poziomu osadzonej w kontekście innej witryny do plików cookie ustawionych przez witrynę najwyższego poziomu w kontekście tej samej witryny. 
- 
    topLevelSitestring opcjonalny Witryna najwyższego poziomu, w której dostępny jest oddzielony plik cookie. 
CookieStore
Reprezentuje magazyn plików cookie w przeglądarce. Na przykład okno trybu incognito używa innego magazynu plików cookie niż okno w trybie zwykłym.
Właściwości
- 
    idciąg znaków Unikalny identyfikator sklepu z plikami cookie. 
- 
    tabIdsnumber[] Identyfikatory wszystkich kart przeglądarki, które współdzielą ten magazyn plików cookie. 
FrameDetails
Szczegóły identyfikujące ramkę.
Właściwości
- 
    documentIdstring opcjonalny Unikalny identyfikator dokumentu. Jeśli podano frameId lub tabId, zostaną one zweryfikowane pod kątem zgodności z dokumentem znalezionym na podstawie podanego identyfikatora dokumentu. 
- 
    frameIdnumber opcjonalny Unikalny identyfikator ramki na karcie. 
- 
    tabIdnumber opcjonalny Unikalny identyfikator karty zawierającej ramkę. 
OnChangedCause
Przyczyna zmiany pliku cookie. Jeśli plik cookie został wstawiony lub usunięty w wyniku jawnego wywołania funkcji „chrome.cookies.remove”, wartość parametru „cause” będzie wynosić „explicit”. Jeśli plik cookie został automatycznie usunięty z powodu wygaśnięcia, „przyczyna” będzie miała wartość „expired” (wygasł). Jeśli plik cookie został usunięty, ponieważ został zastąpiony plikiem z datą ważności, która już wygasła, „cause” (przyczyna) zostanie ustawiona na „expired_overwrite”. Jeśli plik cookie został automatycznie usunięty z powodu odzyskiwania pamięci, „przyczyna” będzie miała wartość „evicted”. Jeśli plik cookie został automatycznie usunięty z powodu wywołania „set”, które go zastąpiło, „cause” będzie mieć wartość „overwrite”. Odpowiednio zaplanuj swoją reakcję.
Typ wyliczeniowy
„evicted” 
 
„expired” 
 
„explicit” 
 
"expired_overwrite" 
 
„overwrite” 
 
SameSiteStatus
Stan atrybutu „SameSite” pliku cookie (https://tools.ietf.org/html/draft-west-first-party-cookies). Wartość „no_restriction” odpowiada plikowi cookie ustawionemu z atrybutem „SameSite=None”, „lax” – „SameSite=Lax”, a „strict” – „SameSite=Strict”. „unspecified” odpowiada plikowi cookie ustawionemu bez atrybutu SameSite.
Typ wyliczeniowy
"no_restriction" 
 
„lax” 
 
„strict” 
 
„unspecified” 
 
Metody
get()
chrome.cookies.get(
details: CookieDetails,
): Promise<Cookie | undefined>
Pobiera informacje o pojedynczym pliku cookie. Jeśli dla danego adresu URL istnieje więcej niż jeden plik cookie o tej samej nazwie, zwracany jest ten o najdłuższej ścieżce. W przypadku plików cookie o tej samej długości ścieżki zwracany jest plik cookie z najwcześniejszą datą utworzenia.
Parametry
- 
    szczegóły
Zwroty
- 
            Promise<Cookie | undefined> Chrome 88 lub nowsza
getAll()
chrome.cookies.getAll(
details: object,
): Promise<Cookie[]>
Pobiera wszystkie pliki cookie z pojedynczego magazynu plików cookie, które pasują do podanych informacji. Zwrócone pliki cookie będą posortowane, przy czym na początku znajdą się te o najdłuższej ścieżce. Jeśli kilka plików cookie ma taką samą długość ścieżki, pierwszeństwo mają te, które zostały utworzone najwcześniej. Ta metoda pobiera pliki cookie tylko w przypadku domen, do których rozszerzenie ma uprawnienia hosta.
Parametry
- 
    szczegółyobiekt Informacje do filtrowania pobieranych plików cookie. - 
    domenastring opcjonalny Ogranicza pobierane pliki cookie do tych, których domeny pasują do tej domeny lub są jej subdomenami. 
- 
    nazwastring opcjonalny Filtruje pliki cookie według nazwy. 
- 
    partitionKeyCookiePartitionKey opcjonalny Chrome 119 lub nowszaKlucz partycji do odczytywania lub modyfikowania plików cookie z atrybutem Partitioned. 
- 
    ścieżkastring opcjonalny Ogranicza pobierane pliki cookie do tych, których ścieżka dokładnie pasuje do tego ciągu znaków. 
- 
    Bezpiecznywartość logiczna opcjonalna Filtruje pliki cookie według właściwości Secure. 
- 
    sesjawartość logiczna opcjonalna Filtruje pliki cookie sesji i pliki cookie trwałe. 
- 
    storeIdstring opcjonalny Magazyn plików cookie, z którego mają być pobierane pliki cookie. Jeśli zostanie pominięty, użyty zostanie magazyn plików cookie bieżącego kontekstu wykonania. 
- 
    URLstring opcjonalny Ogranicza pobrane pliki cookie do tych, które pasują do podanego adresu URL. 
 
- 
    
Zwroty
- 
            Promise<Cookie[]> Chrome 88 lub nowsza
getAllCookieStores()
chrome.cookies.getAllCookieStores(): Promise<CookieStore[]>
Wyświetla listę wszystkich istniejących sklepów z plikami cookie.
Zwroty
- 
            Promise<CookieStore[]> Chrome 88 lub nowsza
getPartitionKey()
chrome.cookies.getPartitionKey(
details: FrameDetails,
): Promise<object>
Klucz partycji dla wskazanej klatki.
Parametry
- 
    szczegóły
Zwroty
- 
            Promise<object> 
remove()
chrome.cookies.remove(
details: CookieDetails,
): Promise<object | undefined>
Usuwa plik cookie według nazwy.
Parametry
- 
    szczegóły
Zwroty
- 
            Promise<object | undefined> Chrome 88 lub nowsza
set()
chrome.cookies.set(
details: object,
): Promise<Cookie | undefined>
Ustawia plik cookie z podanymi danymi. Może zastąpić równoważne pliki cookie, jeśli takie istnieją.
Parametry
- 
    szczegółyobiekt Szczegóły dotyczące ustawianego pliku cookie. - 
    domenastring opcjonalny Domena pliku cookie. Jeśli ten argument nie zostanie podany, plik cookie stanie się plikiem cookie tylko dla hosta. 
- 
    expirationDatenumber opcjonalny Data wygaśnięcia pliku cookie podana jako liczba sekund od początku czasu uniksowego. Jeśli nie zostanie podana, plik cookie stanie się plikiem cookie sesji. 
- 
    httpOnlywartość logiczna opcjonalna Określa, czy plik cookie ma być oznaczony jako HttpOnly. Wartość domyślna to fałsz. 
- 
    nazwastring opcjonalny Nazwa pliku cookie. Jeśli zostanie pominięty, domyślnie jest pusty. 
- 
    partitionKeyCookiePartitionKey opcjonalny Chrome 119 lub nowszaKlucz partycji do odczytywania lub modyfikowania plików cookie z atrybutem Partitioned. 
- 
    ścieżkastring opcjonalny Ścieżka pliku cookie. Domyślnie jest to część ścieżki parametru adresu URL. 
- 
    sameSiteSameSiteStatus opcjonalny Chrome 51 lub nowszaStan pliku cookie w kontekście tej samej witryny. Domyślna wartość to „unspecified” (nieokreślony), tzn. jeśli ten atrybut zostanie pominięty, plik cookie zostanie ustawiony bez określania atrybutu SameSite. 
- 
    Bezpiecznywartość logiczna opcjonalna Określa, czy plik cookie ma być oznaczony jako bezpieczny. Wartość domyślna to fałsz. 
- 
    storeIdstring opcjonalny Identyfikator magazynu plików cookie, w którym ma zostać ustawiony plik cookie. Domyślnie plik cookie jest ustawiany w pamięci plików cookie bieżącego kontekstu wykonania. 
- 
    URLciąg znaków Identyfikator URI żądania, który ma być powiązany z ustawieniem pliku cookie. Ta wartość może wpływać na domyślne wartości domeny i ścieżki utworzonego pliku cookie. Jeśli w pliku manifestu nie określono uprawnień hosta dla tego adresu URL, wywołanie interfejsu API zakończy się niepowodzeniem. 
- 
    wartośćstring opcjonalny Wartość pliku cookie. Jeśli zostanie pominięty, domyślnie jest pusty. 
 
- 
    
Zwroty
- 
            Promise<Cookie | undefined> Chrome 88 lub nowsza
Wydarzenia
onChanged
chrome.cookies.onChanged.addListener(
callback: function,
)
Wywoływane, gdy plik cookie jest ustawiany lub usuwany. W szczególnym przypadku aktualizacja właściwości pliku cookie jest realizowana w 2 etapach: najpierw plik cookie do zaktualizowania jest całkowicie usuwany, co generuje powiadomienie z przyczyną „overwrite” (zastąpienie). Następnie zapisywany jest nowy plik cookie ze zaktualizowanymi wartościami, co generuje drugie powiadomienie z wartością „cause” ustawioną na „explicit”.
Parametry
- 
    callbackfunkcja Parametr callbackwygląda tak:(changeInfo: object) => void - 
    changeInfoobiekt - 
    przyczynąPrzyczyna zmiany pliku cookie. 
- 
    ciastkoInformacje o ustawionym lub usuniętym pliku cookie. 
- 
    usuniętoWartość logiczna Wartość „true”, jeśli plik cookie został usunięty. 
 
- 
    
 
-