Açıklama
Çerezleri sorgulamak, değiştirmek ve değişiklik olduğunda bildirim almak için chrome.cookies
API'yi kullanın.
İzinler
cookies
Cookie API'yi kullanmak için manifestinizde "cookies"
iznini, çerezlerine erişmek istediğiniz tüm ana makineler için ana makine izinleriyle birlikte 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 yerleştirilmesi gerektiğini işaretlemesine olanak tanır. Diğer bir deyişle, örneğin, A sitesi B ve C sitesinde bir iframe kullanılarak yerleştirilmişse, bölümlendirilmiş bir çerezin A'daki yerleşik sürümleri B ve C'de farklı değerlere sahip olabilir.
Varsayılan olarak, tüm API yöntemleri bölümlendirilmemiş çerezler üzerinde çalışır. Bu davranışı geçersiz kılmak için partitionKey
özelliği kullanılabilir.
Uzantılar için bölümlendirmenin genel etkisiyle ilgili ayrıntılar için Depolama ve Çerezler bölümüne bakın.
Örnekler
Cookies API'yi kullanmayla ilgili basit bir örneği examples/api/cookies dizininde bulabilirsiniz. Diğer örnekler ve kaynak kodu görüntülemeyle ilgili yardım için Örnekler bölümüne bakın.
Türler
Cookie
HTTP çereziyle ilgili bilgileri temsil eder.
Özellikler
-
alan
dize
Çerezin alan adı (ör. "www.google.com", "example.com").
-
expirationDate
numara isteğe bağlı
UNIX döneminden bu yana geçen saniye sayısı olarak çerezin geçerlilik bitiş tarihi. Oturum çerezleri için sağlanmaz.
-
hostOnly
boolean
Çerez yalnızca ana makine çereziyse (yani, isteğin ana makinesi, çerezin alan adıyla tam olarak eşleşmelidir) doğru değerini alır.
-
httpOnly
boolean
Çerez, HttpOnly olarak işaretlenmişse (yani, istemci taraflı komut dosyaları çereze erişemiyorsa) doğru değerini döndürür.
-
ad
dize
Çerezin adı.
-
partitionKey
CookiePartitionKey isteğe bağlı
Chrome 119 ve sonraki sürümlerBölümlendirilmiş özelliğine sahip çerezleri okumak veya değiştirmek için kullanılan bölüm anahtarı.
-
yol
dize
Çerezin yolu.
-
sameSiteChrome 51 ve sonraki sürümler
Çerezin aynı site durumu (ör. çerezin siteler arası isteklerle gönderilip gönderilmeyeceği)
-
güvenli
boolean
Çerez, Güvenli olarak işaretlenmişse (yani kapsamı güvenli kanallarla (genellikle HTTPS) sınırlıysa doğru değerini alır.
-
oturum sayısı
boolean
Çerez bir oturum çereziyse, son kullanma tarihi olan kalıcı bir çerezse doğru değerini alır.
-
storeId
dize
Bu çerezi içeren çerez deposunun getAllCookieStores() işlevinde sağlanan kimliği.
-
value
dize
Çerezin değeri.
CookieDetails
Çerezi tanımlayan ayrıntılar.
Özellikler
-
ad
dize
Erişilecek çerezin adı.
-
partitionKey
CookiePartitionKey isteğe bağlı
Chrome 119 ve sonraki sürümlerBölümlendirilmiş özelliğine sahip çerezleri okumak veya değiştirmek için kullanılan bölüm anahtarı.
-
storeId
string 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 çerezin ilişkilendirildiği URL. Bu bağımsız değişken tam bir URL olabilir.Bu durumda, URL yolunu izleyen 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
-
topLevelSite
string isteğe bağlı
Bölümlendirilmiş çerezin bulunduğu üst düzey site.
CookieStore
Tarayıcıda bir çerez deposunu temsil eder. Örneğin bir gizli mod penceresi, gizli olmayan bir pencereden ayrı bir çerez deposu kullanır.
Özellikler
-
id
dize
Çerez deposu için benzersiz tanımlayıcı.
-
tabIds
numara[]
Bu çerez deposunu paylaşan tüm tarayıcı sekmelerinin tanımlayıcıları.
OnChangedCause
Çerez değişikliğinin temel nedeni. Bir çerez eklenmişse veya "chrome.cookies.remove" değerine açık bir çağrı aracılığıyla kaldırıldıysa "cause", "müstehcen" olur. Süresi dolduğu için bir çerez otomatik olarak kaldırıldıysa "neden" değeri "süresi doldu" olur. Süresi dolmuş bir son tarih olması nedeniyle bir çerez kaldırıldıysa, "cause" değeri "expired_overwrite" olarak ayarlanır. Bir çerez çöp toplama nedeniyle otomatik olarak kaldırıldıysa "neden", "çıkarılmış" olacaktır. Bir çerez, üzerine yazan bir "set" çağrısı nedeniyle otomatik olarak kaldırıldıysa "neden", "üzerine yaz" olur. Yanıtınızı buna göre planlayın.
Enum
"evicted"
"expired" (geçerlilik süresi doldu)
"explicit"
"expired_overwrite"
SameSiteStatus
Bir çerezin "SameSite" durumu (https://tools.ietf.org/html/draft-west-first-party-cookies). "no_restriction", "SameSite=None", "lax" ile "SameSite=Lax" ve "strict" değeri "SameSite=Strict" olarak ayarlanmış çereze karşılık gelir. "unspecified" [belirtilmedi], SameSite özelliği olmayan bir çerez grubuna karşılık gelir.
Enum
"no_restriction" (kısıtlama yok)
"lax"
"strict"
"unspecified" (belirtilmemiş)
Yöntemler
get()
chrome.cookies.get(
details: CookieDetails,
callback?: function,
)
Tek bir çerez hakkında bilgi getirir. Belirtilen URL için aynı ada sahip birden fazla çerez varsa, yolu en uzun olan çerez döndürülür. Aynı yol uzunluğuna sahip çerezler için, oluşturma zamanı en erken olan çerez döndürülür.
Parametreler
İlerlemeler
-
Promise<Cookie | undefined>
Chrome 88 ve sonraki sürümlerVaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, geri çağırmaya iletilen aynı türle çözümlenir.
getAll()
chrome.cookies.getAll(
details: object,
callback?: function,
)
Tek bir çerez deposundan verilen bilgilerle eşleşen tüm çerezleri alır. Döndürülen çerezler, yolu en uzun olanlar listenin başında olacak şekilde sıralanır. Aynı yol uzunluğuna sahip birden çok çerez varsa oluşturma zamanı en erken olan çerezler ilk sırada olur. Bu yöntem, yalnızca uzantının ana makine izinlerine sahip olduğu alanlarla ilgili çerezleri alır.
Parametreler
-
ayrıntılar
nesne
Alınan çerezleri filtrelemek için kullanılan bilgiler.
-
alan
string isteğe bağlı
Alınan çerezleri, alanları bununla eşleşen veya bunun alt alanı olanlarla kısıtlar.
-
ad
string isteğe bağlı
Çerezleri ada göre filtreler.
-
partitionKey
CookiePartitionKey isteğe bağlı
Chrome 119 ve sonraki sürümlerBölümlendirilmiş özelliğine sahip çerezleri okumak veya değiştirmek için kullanılan bölüm anahtarı.
-
yol
string isteğe bağlı
Alınan çerezleri, yolu bu dizeyle tam olarak eşleşenlerle kısıtlar.
-
güvenli
boole isteğe bağlı
Çerezleri Güvenli özelliklerine göre filtreler.
-
oturum sayısı
boole isteğe bağlı
Oturumu ve kalıcı çerezleri filtreler.
-
storeId
string isteğe bağlı
Çerezlerin alınacağı çerez deposu. Atlanırsa mevcut yürütme bağlamının çerez deposu kullanılır.
-
url
string isteğe bağlı
Alınan çerezleri, belirtilen URL ile eşleşenlerle kısıtlar.
-
-
geri çağırma
Functions (isteğe bağlı)
callback
parametresi şu şekilde görünür:(cookies: Cookie[]) => void
-
Cloud Console dışındaki Google Cloud sitelerindeki
Çerez[]
Belirtilen çerez bilgileriyle eşleşen tüm mevcut, süresi dolmamış çerezler.
-
İlerlemeler
-
Promise<Cookie[]>
Chrome 88 ve sonraki sürümlerVaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, geri çağırmaya iletilen aynı türle çözümlenir.
getAllCookieStores()
chrome.cookies.getAllCookieStores(
callback?: function,
)
Mevcut tüm çerez depolarını listeler.
Parametreler
-
geri çağırma
Functions (isteğe bağlı)
callback
parametresi şu şekilde görünür:(cookieStores: CookieStore[]) => void
-
cookieStores
Tüm mevcut çerez depoları.
-
İlerlemeler
-
Promise<CookieStore[]>
Chrome 88 ve sonraki sürümlerVaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, geri çağırmaya iletilen aynı türle çözümlenir.
remove()
chrome.cookies.remove(
details: CookieDetails,
callback?: function,
)
Çerezi adına göre siler.
Parametreler
-
ayrıntılar
-
geri çağırma
Functions (isteğe bağlı)
callback
parametresi şu şekilde görünür:(details?: object) => void
-
ayrıntılar
isteğe bağlı
Kaldırılmış olan çerezle ilgili ayrıntıları içerir. Kaldırma işlemi herhangi bir nedenle başarısız olduysa değer "null" olur ve
runtime.lastError
olarak ayarlanır.-
ad
dize
Kaldırılan çerezin adı.
-
partitionKey
CookiePartitionKey isteğe bağlı
Chrome 119 ve sonraki sürümlerBölümlendirilmiş özelliğine sahip çerezleri okumak veya değiştirmek için kullanılan bölüm anahtarı.
-
storeId
dize
Çerezin kaldırıldığı çerez deposunun kimliği.
-
url
dize
Kaldırılmış olan çerezle ilişkilendirilen URL.
-
-
İlerlemeler
-
Promise<object | undefined>
Chrome 88 ve sonraki sürümlerVaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, geri çağırmaya iletilen aynı türle çözümlenir.
set()
chrome.cookies.set(
details: object,
callback?: function,
)
Belirtilen çerez verileriyle bir çerez oluşturur; varsa eşdeğer çerezlerin üzerine yazabilir.
Parametreler
-
ayrıntılar
nesne
Ayarlanan çerezle ilgili ayrıntılar.
-
alan
string isteğe bağlı
Çerezin alanı. Atlanırsa çerez yalnızca ana makine çerezi haline gelir.
-
expirationDate
numara isteğe bağlı
UNIX döneminden bu yana geçen saniye sayısı olarak çerezin geçerlilik bitiş tarihi. Atlanırsa, çerez bir oturum çerezi haline gelir.
-
httpOnly
boole isteğe bağlı
Çerezin HttpOnly olarak işaretlenip işaretlenmeyeceğini belirler. Varsayılan olarak false değerine ayarlanır.
-
ad
string isteğe bağlı
Çerezin adı. Atlanırsa varsayılan olarak boş olur.
-
partitionKey
CookiePartitionKey isteğe bağlı
Chrome 119 ve sonraki sürümlerBölümlendirilmiş özelliğine sahip çerezleri okumak veya değiştirmek için kullanılan bölüm anahtarı.
-
yol
string 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 ve sonraki sürümlerÇerezin aynı site durumu. Varsayılan olarak "unspecified" (belirtilmemiş) değerine ayarlanır. Diğer bir deyişle, atlanırsa çerez bir SameSite özelliği belirtilmeden ayarlanır.
-
güvenli
boole isteğe bağlı
Çerezin Güvenli olarak işaretlenip işaretlenmeyeceğini belirtir. Varsayılan olarak false değerine ayarlanır.
-
storeId
string 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
Çerezin ayarıyla ilişkilendirilecek request-URI. Bu değer, oluşturulan çerezin 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
string isteğe bağlı
Çerezin değeri. Atlanırsa varsayılan olarak boş olur.
-
-
geri çağırma
Functions (isteğe bağlı)
callback
parametresi şu şekilde görünür:(cookie?: Cookie) => void
-
çerez
Çerez isteğe bağlı
Ayarlanan çerezle ilgili ayrıntıları içerir. Ayar herhangi bir nedenle başarısız olduysa değer "null" olur ve
runtime.lastError
olarak ayarlanır.
-
İlerlemeler
-
Promise<Cookie | undefined>
Chrome 88 ve sonraki sürümlerVaatler, Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırmalar sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Vaat, geri çağırmaya iletilen aynı türle çözümlenir.
Etkinlikler
onChanged
chrome.cookies.onChanged.addListener(
callback: function,
)
Bir çerez oluşturulduğunda veya kaldırıldığında tetiklenir. Özel bir durum olarak, bir çerezin özelliklerinin güncellenmesinin iki adımlı bir işlem olarak uygulandığını unutmayın: Güncellenecek çerez öncelikle tamamen kaldırılır ve "üzerine yaz" "nedenini" içeren bir bildirim oluşturulur. Ardından, güncellenen değerlerle yeni bir çerez yazılarak "cause" "explicit" değerine sahip ikinci bir bildirim oluşturulur.
Parametreler
-
geri çağırma
işlev
callback
parametresi şu şekilde görünür:(changeInfo: object) => void
-
changeInfo
nesne
-
cause
Çerez değişikliğinin temel nedeni.
-
çerez
Ayarlanan veya kaldırılan çerezle ilgili bilgiler.
-
kaldırıldı
boolean
Bir çerez kaldırıldıysa doğru değerini alır.
-
-