Açıklama
Çerezleri sorgulamak, değiştirmek ve değiştiğinde bildirim almak için chrome.cookies
API'sini kullanın.
İzinler
cookies
Çerezler API'sini kullanmak için manifestinizde "cookies"
iznini ve çerezlerine erişmek istediğiniz tüm ana makineler için ana makine izinlerini beyan edin. Örneğin:
{ "name": "My extension", ... "host_permissions": [ "*://*.google.com/" ], "permissions": [ "cookies" ], ... }
Bölümlendirme
Bölümlendirilmiş çerezler, bir sitenin belirli çerezlerin üst düzey çerçevenin kaynağına göre anahtarlanması gerektiğini işaretlemesine olanak tanır. Bu, örneğin A sitesi B ve C sitelerine bir iFrame kullanılarak yerleştirilmişse A sitesinden bölümlendirilmiş bir çerezin yerleştirilmiş sürümlerinin B ve C sitelerinde farklı değerlere sahip olabileceği anlamına gelir.
Varsayılan olarak, tüm API yöntemleri bölümlenmemiş çerezler üzerinde çalışır. Bu davranışı geçersiz kılmak için partitionKey
özelliği kullanılabilir.
Bölümlendirmenin uzantılar üzerindeki genel etkisiyle ilgili ayrıntılar için Depolama Alanı ve Çerezler başlıklı makaleyi inceleyin.
Örnekler
Çerez API'sinin kullanımına ilişkin basit bir örneği examples/api/cookies dizininde bulabilirsiniz. Diğer örnekler ve kaynak kodun görüntülenmesiyle ilgili yardım için Örnekler bölümüne bakın.
Türler
Cookie
HTTP çereziyle ilgili bilgileri gösterir.
Özellikler
- alan
dize
Çerez alanı (ör. "www.google.com", "example.com").
- expirationDate
number isteğe bağlı
Çerezin geçerlilik bitiş tarihi, UNIX sıfır zamanından itibaren saniye sayısı olarak ifade edilir. Oturum çerezleri için sağlanmaz.
- hostOnly
boolean
Çerez yalnızca ana makineye ait bir çerezse (yani isteğin ana makinesi, çerezin alan adıyla tam olarak eşleşmelidir) doğru olur.
- httpOnly
boolean
Çerez HttpOnly olarak işaretlenmişse (yani çereze istemci tarafı komut dosyaları tarafından erişilemiyorsa) doğru.
- ad
dize
Çerezin adı.
- partitionKey
CookiePartitionKey isteğe bağlı
Chrome 119 veya daha yeni bir sürümBölümlendirilmiş özelliği olan çerezleri okumak veya değiştirmek için kullanılan bölüm anahtarı.
- yol
dize
Çerezin yolu.
- sameSiteChrome 51 veya sonraki sürümler
Çerezin aynı site durumu (ör. çerezin siteler arası isteklerle gönderilip gönderilmediği).
- güvenli
boolean
Çerez Güvenli olarak işaretlenmişse (ör. kapsamı genellikle HTTPS olan güvenli kanallarla sınırlıysa) doğru.
- oturum
boolean
Çerez, geçerlilik bitiş tarihi olan kalıcı bir çerez yerine oturum çereziyse doğru (True) değerini döndürür.
- storeId
dize
Bu çerezi içeren çerez deposunun kimliği (getAllCookieStores() içinde sağlandığı şekliyle).
- value
dize
Çerezin değeri.
CookieDetails
Çerezi tanımlamaya yönelik ayrıntılar.
Özellikler
- ad
dize
Erişilecek çerezin adı.
- partitionKey
CookiePartitionKey isteğe bağlı
Chrome 119 veya daha yeni bir sürümBölümlendirilmiş özelliği olan çerezleri okumak veya değiştirmek için kullanılan bölüm anahtarı.
- storeId
dize isteğe bağlı
Çerezin aranacağı çerez deposunun kimliği. Varsayılan olarak, mevcut yürütme bağlamının çerez deposu kullanılır.
- url
dize
Erişilecek çerezle ilişkilendirilen URL. Bu bağımsız değişken tam bir URL olabilir.Bu durumda, URL yolunu izleyen tüm veriler (ör. sorgu dizesi) yok sayılır. Bu URL için ana makine izinleri manifest dosyasında belirtilmemişse API çağrısı başarısız olur.
CookiePartitionKey
Bölümlendirilmiş bir çerezin bölüm anahtarını temsil eder.
Özellikler
- hasCrossSiteAncestor
boolean isteğe bağlı
Chrome 130 veya daha yeni bir sürümÇerezin siteler arası bağlamda ayarlanıp ayarlanmadığını gösterir. Bu, siteler arası bağlamda yerleştirilmiş üst düzey bir sitenin, aynı site bağlamında üst düzey site tarafından ayarlanan çerezlere erişmesini engeller.
- topLevelSite
dize isteğe bağlı
Bölümlendirilmiş çerezin kullanılabildiği üst düzey site.
CookieStore
Tarayıcıdaki bir çerez deposunu temsil eder. Örneğin, gizli mod penceresi, gizli olmayan pencereden ayrı bir çerez deposu kullanır.
Özellikler
- id
dize
Çerez deposunun benzersiz tanımlayıcısı.
- tabIds
number[]
Bu çerez deposunu paylaşan tüm tarayıcı sekmelerinin tanımlayıcıları.
FrameDetails
Çerçeveyi tanımlamaya yönelik ayrıntılar.
Özellikler
- documentId
dize isteğe bağlı
Belgenin benzersiz tanımlayıcısı. frameId ve/veya tabId sağlanırsa, sağlanan belge kimliğiyle bulunan belgeyle eşleşip eşleşmediği doğrulanır.
- frameId
number isteğe bağlı
Sekmedeki çerçevenin benzersiz tanımlayıcısı.
- tabId
number isteğe bağlı
Çerçeveyi içeren sekmenin benzersiz tanımlayıcısı.
OnChangedCause
Çerezin değişmesinin temel nedeni. Bir çerez "chrome.cookies.remove" için açık bir çağrı yoluyla eklenmişse veya kaldırılmışsa "neden" "açık" olur. Bir çerez, geçerlilik süresi dolduğu için otomatik olarak kaldırıldıysa "neden" olarak "geçerlilik süresi doldu" gösterilir. Bir çerez, geçerlilik bitiş tarihi zaten geçmiş olan bir tarihle üzerine yazıldığı için kaldırıldıysa "neden" "expired_overwrite" olarak ayarlanır. Bir çerez, çöp toplama nedeniyle otomatik olarak kaldırıldıysa "neden" "çıkarıldı" olur. Bir çerez, üzerine yazan bir "set" çağrısı nedeniyle otomatik olarak kaldırıldıysa "neden" "üzerine yazma" olur. Yanıtınızı buna göre planlayın.
Enum
"evicted"
"expired"
"explicit"
"expired_overwrite"
"overwrite"
SameSiteStatus
Çerezin "SameSite" durumu (https://tools.ietf.org/html/draft-west-first-party-cookies). "no_restriction" değeri, "SameSite=None" ile ayarlanan bir çereze, "lax" değeri "SameSite=Lax" ile ayarlanan bir çereze, "strict" değeri ise "SameSite=Strict" ile ayarlanan bir çereze karşılık gelir. "unspecified", SameSite özelliği olmadan ayarlanan bir çereze karşılık gelir.
Enum
"no_restriction"
"lax"
"strict"
"unspecified"
Yöntemler
get()
chrome.cookies.get(
details: CookieDetails,
): Promise<Cookie | undefined>
Tek bir çerezle ilgili bilgileri getirir. Belirli bir URL için aynı ada sahip birden fazla çerez varsa en uzun yola sahip olan döndürülür. Aynı yol uzunluğuna sahip çerezler için, oluşturulma zamanı en erken olan çerez döndürülür.
Parametreler
- ayrıntılar
İadeler
-
Promise<Cookie | undefined>
Chrome 88 ve sonraki sürümler
getAll()
chrome.cookies.getAll(
details: object,
): Promise<Cookie[]>
Belirtilen bilgilerle eşleşen tüm çerezleri tek bir çerez deposundan alır. Döndürülen çerezler, en uzun yola sahip olanlar önce gelecek şekilde sıralanır. Birden fazla çerez aynı yol uzunluğuna sahipse en erken oluşturulma zamanına sahip olanlar önce gelir. Bu yöntem yalnızca uzantının ana makine izinlerine sahip olduğu alan adlarının çerezlerini alır.
Parametreler
- ayrıntılar
nesne
Alınan çerezleri filtrelemek için kullanılan bilgiler.
- alan
dize isteğe bağlı
Alınan çerezleri, alan adları bu alan adıyla eşleşen veya bu alan adının alt alan adları olan çerezlerle sınırlar.
- ad
dize isteğe bağlı
Çerezleri ada göre filtreler.
- partitionKey
CookiePartitionKey isteğe bağlı
Chrome 119 veya daha yeni bir sürümBölümlendirilmiş özelliği olan çerezleri okumak veya değiştirmek için kullanılan bölüm anahtarı.
- yol
dize isteğe bağlı
Alınan çerezleri, yolu bu dizeyle tam olarak eşleşenlerle kısıtlar.
- güvenli
boolean isteğe bağlı
Çerezleri Secure özelliğine göre filtreler.
- oturum
boolean isteğe bağlı
Oturum çerezlerini kalıcı çerezlerden ayırır.
- storeId
dize isteğe bağlı
Çerezlerin alınacağı çerez deposu. Boş bırakılırsa mevcut yürütme bağlamının çerez deposu kullanılır.
- url
dize isteğe bağlı
Alınan çerezleri, verilen URL ile eşleşenlerle kısıtlar.
-
İadeler
-
Promise<Cookie[]>
Chrome 88 ve sonraki sürümler
getAllCookieStores()
chrome.cookies.getAllCookieStores(): Promise<CookieStore[]>
Mevcut tüm çerez depolarını listeler.
İadeler
-
Promise<CookieStore[]>
Chrome 88 ve sonraki sürümler
getPartitionKey()
chrome.cookies.getPartitionKey(
details: FrameDetails,
): Promise<object>
Belirtilen karenin bölüm anahtarı.
Parametreler
- ayrıntılar
İadeler
-
Promise<object>
remove()
chrome.cookies.remove(
details: CookieDetails,
): Promise<object | undefined>
Çerezi ada göre siler.
Parametreler
- ayrıntılar
İadeler
-
Promise<object | undefined>
Chrome 88 ve sonraki sürümler
set()
chrome.cookies.set(
details: object,
): Promise<Cookie | undefined>
Belirtilen çerez verileriyle bir çerez ayarlar. Eşdeğer çerezler varsa bunların üzerine yazabilir.
Parametreler
- ayrıntılar
nesne
Ayarlanan çerezle ilgili ayrıntılar.
- alan
dize isteğe bağlı
Çerezin alan adı. Atlanırsa çerez yalnızca ana makineye ait bir çerez olur.
- expirationDate
number isteğe bağlı
Çerezin geçerlilik bitiş tarihi, UNIX sıfır zamanından itibaren saniye sayısı olarak ifade edilir. Atlanırsa çerez, oturum çerezi olur.
- httpOnly
boolean isteğe bağlı
Çerezin HttpOnly olarak işaretlenip işaretlenmeyeceği. Varsayılan olarak false değerine ayarlanır.
- ad
dize isteğe bağlı
Çerezin adı. Boş bırakılırsa varsayılan olarak boş olur.
- partitionKey
CookiePartitionKey isteğe bağlı
Chrome 119 veya daha yeni bir sürümBölümlendirilmiş özelliği olan çerezleri okumak veya değiştirmek için kullanılan bölüm anahtarı.
- yol
dize isteğe bağlı
Çerezin yolu. Varsayılan olarak URL parametresinin yol kısmı kullanılır.
- sameSite
SameSiteStatus isteğe bağlı
Chrome 51 veya sonraki sürümlerÇerezin aynı site durumu. Varsayılan olarak "belirtilmemiş"tir. Yani atlanırsa çerez, bir SameSite özelliği belirtilmeden ayarlanır.
- güvenli
boolean isteğe bağlı
Çerezin güvenli olarak işaretlenip işaretlenmeyeceği. Varsayılan olarak false değerine ayarlanır.
- storeId
dize isteğe bağlı
Çerezin ayarlanacağı çerez deposunun kimliği. Varsayılan olarak, çerez mevcut yürütme bağlamının çerez deposunda ayarlanır.
- url
dize
Çerez ayarıyla ilişkilendirilecek istek URI'si. Bu değer, oluşturulan çerezlerin varsayılan alan ve yol değerlerini etkileyebilir. Bu URL için ana makine izinleri manifest dosyasında belirtilmemişse API çağrısı başarısız olur.
- value
dize isteğe bağlı
Çerezin değeri. Boş bırakılırsa varsayılan olarak boş olur.
-
İadeler
-
Promise<Cookie | undefined>
Chrome 88 ve sonraki sürümler
Etkinlikler
onChanged
chrome.cookies.onChanged.addListener(
callback: function,
)
Bir çerez ayarlandığında veya kaldırıldığında tetiklenir. Özel bir durum olarak, çerez özelliklerinin güncellenmesinin iki adımlı bir işlem olarak uygulandığını unutmayın: Güncellenecek çerez önce tamamen kaldırılır ve "neden" olarak "üzerine yazma" içeren bir bildirim oluşturulur. Ardından, güncellenen değerlerle yeni bir çerez yazılır ve "neden" "açık" olan ikinci bir bildirim oluşturulur.
Parametreler
- callback
işlev
callback
parametresi şu şekilde görünür:(changeInfo: object) => void
- changeInfo
nesne
- nedenini
Çerezin değişmesinin temel nedeni.
- çerez
Ayarlanan veya kaldırılan çerez hakkında bilgiler.
- kaldırıldı
boolean
Çerez kaldırıldıysa doğru değerini döndürür.
-
-