Açıklama
Çerezleri sorgulamak ve değiştirmek, ayrıca çerezler değiştiğinde bildirim almak için chrome.cookies API'yi kullanın.
İzinler
cookiesÇerez API'sini kullanmak için manifest dosyanızda "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. Örneğin, A sitesi, B ve C sitelerine iFrame kullanılarak yerleştirilmişse A'dan gelen bölümlendirilmiş bir çerezin yerleştirilmiş sürümleri, B ve C'de farklı değerlere sahip olabilir.
Varsayılan olarak tüm API yöntemleri, bölümlenmemiş çerezlerde çalışır. Bu davranışı geçersiz kılmak için partitionKey özelliği kullanılabilir.
Bölümlendirmenin uzantılar üzerindeki genel etkisi hakkında ayrıntılı bilgi için Depolama Alanı ve Çerezler başlıklı makaleyi inceleyin.
Örnekler
Cookies API'nin kullanımına dair basit bir örneği examples/api/cookies dizininde bulabilirsiniz. Diğer örnekler ve kaynak kodunu görüntüleme konusunda 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ı (ör. "www.google.com", "example.com").
-
expirationDate
number isteğe bağlı
Çerezin geçerlilik bitiş tarihi, UNIX epoch'tan bu yana geçen saniye sayısı olarak ifade edilir. Oturum çerezleri için sağlanmaz.
-
hostOnly
boole
Çerez yalnızca ana makine çereziyse (yani bir isteğin ana makinesi, çerezin alanıyla tam olarak eşleşmelidir) True değerini alır.
-
httpOnly
boole
Çerez, HttpOnly olarak işaretlenmişse (yani çereze istemci tarafı komut dosyaları tarafından erişilemiyorsa) True değerini alır.
-
ad
dize
Çerezin adı.
-
partitionKey
CookiePartitionKey isteğe bağlı
Chrome 119 ve sonraki sürümler Chrome 148'den itibaren browser.*Partitioned ö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 Chrome 148'den itibaren browser.*
Çerezin aynı site durumu (ör. çerezin siteler arası isteklerle gönderilip gönderilmediği).
-
güvenli
boole
Çerez, Güvenli olarak işaretlenmişse (yani kapsamı güvenli kanallarla, genellikle HTTPS ile sınırlıysa) True değerini alır.
-
oturum
boole
Çerez, geçerlilik bitiş tarihi olan kalıcı bir çerez yerine oturum çereziyse değer "doğru"dur.
-
storeId
dize
getAllCookieStores() içinde sağlandığı şekilde, bu çerezi içeren çerez deposunun 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ümler Chrome 148'den itibaren browser.*Partitioned ö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, geçerli yürütme bağlamının çerez deposu kullanılır.
-
url
dize
Erişilecek çerezin ilişkili olduğu URL. Bu bağımsız değişken tam bir URL olabilir.Bu durumda, URL yolunu izleyen tüm veriler (ör. sorgu dizesi) yoksayı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
boole isteğe bağlı
Chrome 130 ve sonraki sürümler Chrome 148'den itibaren browser.*Çerezin siteler arası bağlamda ayarlanıp ayarlanmadığını gösterir. Bu, siteler arası bağlama yerleştirilmiş üst düzey bir sitenin, aynı site bağlamında üst düzey site tarafından ayarlanan çerezlere erişmesini engeller.
-
topLevelSite
string 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
Kareyi tanımlayan ayrıntılar.
Özellikler
-
documentId
string isteğe bağlı
Dokümanın benzersiz tanımlayıcısı. frameId ve/veya tabId sağlanırsa sağlanan doküman kimliği tarafından bulunan dokümanla eşleşecek şekilde doğrulanır.
-
frameId
number isteğe bağlı
Sekme içindeki ç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 altında yatan neden. Bir çerez, "chrome.cookies.remove" için açık bir çağrı yoluyla eklenmiş veya kaldırılmışsa "neden", "açık" olur. Bir çerez, süresi dolduğu için otomatik olarak kaldırıldıysa "neden" değeri "süresi doldu" olur. Bir çerez, geçerlilik bitiş tarihi geçmiş bir tarihle üzerine yazıldığı için kaldırıldıysa "neden" değeri "expired_overwrite" olarak ayarlanır. Bir çerez, çöp toplama nedeniyle otomatik olarak kaldırıldıysa "neden" değeri "çıkarıldı" olur. Bir çerez, üzerine yazan bir "set" çağrısı nedeniyle otomatik olarak kaldırıldıysa "cause" (neden) "overwrite" (üzerine yazma) olur. Yanıtınızı buna göre planlayın.
Enum
"evicted"
"expired"
"explicit"
"expired_overwrite"
"üzerine yaz"
SameSiteStatus
Çerezin "SameSite" durumu (https://tools.ietf.org/html/draft-west-first-party-cookies). "no_restriction", "SameSite=None" ile ayarlanan bir çereze, "lax", "SameSite=Lax" ile ayarlanan bir çereze ve "strict", "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()
browser.cookies.get(
details: CookieDetails,
): Promise<Cookie | undefined>
Tek bir çerezle ilgili bilgileri getirir. Belirtilen URL için aynı ada sahip birden fazla çerez varsa en uzun yola sahip olan çerez döndürülür. Aynı yol uzunluğuna sahip çerezler için en erken oluşturma zamanına sahip çerez döndürülür.
Parametreler
-
ayrıntılar
İadeler
-
Promise<Cookie | undefined>
Chrome 88 ve sonraki sürümler Chrome 148'den itibaren browser.*
getAll()
browser.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 ilk sırada olacak şekilde sıralanır. Birden fazla çerez aynı yol uzunluğuna sahipse en erken oluşturma zamanına sahip olanlar ilk sırada yer alır. Bu yöntem yalnızca uzantının ana makine izinlerine sahip olduğu alanlar için ç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, alan adları bu alan adıyla eşleşen veya bu alan adının alt alan adları olan çerezlerle 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ümler Chrome 148'den itibaren browser.*Partitioned ö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 özelliğine göre filtreler.
-
oturum
boole isteğe bağlı
Oturum çerezleri ile kalıcı çerezleri filtreler.
-
storeId
string isteğe bağlı
Çerezlerin alınacağı çerez deposu. Atlanırsa geçerli 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.
-
İadeler
-
Promise<Cookie[]>
Chrome 88 ve sonraki sürümler Chrome 148'den itibaren browser.*
getAllCookieStores()
browser.cookies.getAllCookieStores(): Promise<CookieStore[]>
Mevcut tüm çerez depolarını listeler.
İadeler
-
Promise<CookieStore[]>
Chrome 88 ve sonraki sürümler Chrome 148'den itibaren browser.*
getPartitionKey()
browser.cookies.getPartitionKey(
details: FrameDetails,
): Promise<object>
Belirtilen kare için bölüm anahtarı.
Parametreler
-
ayrıntılar
İadeler
-
Promise<object>
remove()
browser.cookies.remove(
details: CookieDetails,
): Promise<object | undefined>
Bir çerezi ada göre siler.
Parametreler
-
ayrıntılar
İadeler
-
Promise<object | undefined>
Chrome 88 ve sonraki sürümler Chrome 148'den itibaren browser.*
set()
browser.cookies.set(
details: object,
): Promise<Cookie | undefined>
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 olur.
-
expirationDate
number isteğe bağlı
Çerezin geçerlilik bitiş tarihi, UNIX epoch'tan bu yana geçen saniye sayısı olarak ifade edilir. Atlanırsa çerez, oturum çerezi olur.
-
httpOnly
boole isteğe bağlı
Çerezin HttpOnly olarak işaretlenip işaretlenmeyeceğini belirtir. Varsayılan olarak "false" (yanlış) değerine ayarlıdır.
-
ad
string isteğe bağlı
Çerezin adı. Atlanırsa varsayılan olarak boş bırakılır.
-
partitionKey
CookiePartitionKey isteğe bağlı
Chrome 119 ve sonraki sürümler Chrome 148'den itibaren browser.*Partitioned ö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ına ayarlanır.
-
sameSite
SameSiteStatus isteğe bağlı
Chrome 51 ve sonraki sürümler Chrome 148'den itibaren browser.*Çerezin aynı site durumu. Varsayılan olarak "unspecified" değerine ayarlanır. Yani atlanırsa çerez, SameSite özelliği belirtilmeden ayarlanır.
-
güvenli
boole isteğe bağlı
Çerezin Güvenli olarak işaretlenip işaretlenmeyeceği. Varsayılan olarak "false" (yanlış) değerine ayarlıdı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
Çerez ayarıyla ilişkilendirilecek istek URI'si. 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ş bırakılır.
-
İadeler
-
Promise<Cookie | undefined>
Chrome 88 ve sonraki sürümler Chrome 148'den itibaren browser.*
Etkinlikler
onChanged
browser.cookies.onChanged.addListener(
callback: function,
)
Bir çerez ayarlandığında veya kaldırıldığında tetiklenir. Özel bir durum olarak, bir çerezin özelliklerini güncellemenin 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
callbackparametresi şu şekilde görünür:(changeInfo: object) => void
-
changeInfo
nesne
-
nedenini
Çerezin değişmesinin altında yatan neden.
-
çerez
Ayarlanan veya kaldırılan çerezle ilgili bilgiler.
-
kaldırıldı
boole
Bir çerez kaldırıldıysa "doğru" değerini döndürür.
-
-