Açıklama
Çerezleri sorgulamak, değiştirmek ve değişiklik yapıldığında bildirim almak için chrome.cookies
API'yi kullanın.
İzinler
cookies
Çerez API'sini kullanmak için "cookies"
manifest ile birlikte ana makine izinleri ile birlikte çerezlerini kullanmak istediğiniz tüm ana makineler için
tıklayın. Örneğin:
{
"name": "My extension",
...
"host_permissions": [
"*://*.google.com/"
],
"permissions": [
"cookies"
],
...
}
Bölümlendirme
Bölümlendirilmiş çerezler, bir sitenin, belirli çerezlerin başlangıç noktasıdır. Bu, örneğin A sitesi B sitesine bir iframe kullanılarak yerleştirilmişse C sitesinde, A'dan 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ümlendirilmemiş çerezlerde çalışır. İlgili içeriği oluşturmak için kullanılan
Bu davranışı geçersiz kılmak için partitionKey
özelliği kullanılabilir.
Uzantılarda bölümlendirmenin genel etkisiyle ilgili ayrıntılar için şu makaleyi inceleyin: Depolama ve Çerezler.
Örnekler
Çerezler API'sini kullanmaya ilişkin basit bir örneği examples/api/cookies dizinine ekleyin. Diğer örnekler ve için Örnekler bölümüne bakın.
Türler
Cookie
Bir HTTP çereziyle ilgili bilgileri temsil eder.
Özellikler
-
alan
dize
Çerezin alan adı (ör. "www.google.com", "example.com").
-
expirationDate
sayı isteğe bağlı
UNIX döneminden sonraki saniye sayısı olarak çerezin geçerlilik bitiş tarihi. Oturum çerezleri için sağlanmaz.
-
hostOnly
boolean
Çerez yalnızca ana makineye ait bir çerezse (ör. isteğin ana makinesi, çerezin alan adıyla tam olarak eşleşmelidir) True (doğru) değerini alır.
-
httpOnly
boolean
Çerez HttpOnly olarak işaretlendiyse (çerez, istemci taraflı komut dosyaları için erişilemiyorsa) 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ğe 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 (çerezin siteler arası isteklerle gönderilip gönderilmediği).
-
güvenli
boolean
Çerez Güvenli olarak işaretlendiyse (ör. kapsamı güvenli kanallarla, genellikle HTTPS ile sınırlıysa) doğru değerini alır.
-
oturum
boolean
Çerez, son kullanma tarihi olan kalıcı bir çerezin aksine bir oturum çereziyse doğru değerini alır.
-
storeId
dize
Bu çerezi içeren çerez mağazasının, getAllCookieStores() işlevinde sağlanan kimliği.
-
value
dize
Çerezin değeri.
CookieDetails
Çerezi tanımlayacak 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ğe sahip ç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, geçerli 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) yoksayılır. Manifest dosyasında bu URL için ana makine izinleri 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ı
BeklemedeÇerezin siteler arası bir bağlamda ayarlanıp ayarlanmadığını gösterir. Bu, siteler arası bir 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
dize 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, gizli mod penceresi, gizli olmayan bir pencereden ayrı bir çerez deposu kullanır.
Özellikler
-
id
dize
Çerez mağazasının benzersiz tanımlayıcısıdır.
-
tabIds
numara[]
Bu çerez deposunu paylaşan tüm tarayıcı sekmelerinin tanımlayıcıları.
OnChangedCause
Çerezin değişiminin altında yatan neden. Bir çerez eklendiyse veya "chrome.cookies.remove" değerine yönelik bir açık çağrı aracılığıyla çerez kaldırıldıysa "cause" (neden) "uygunsuz" olacaktır. Bir çerez, geçerlilik süresi nedeniyle otomatik olarak kaldırıldıysa "neden" "süresi doldu". Bir çerez, süresi dolmuş bir son kullanma tarihinin üzerine yazılması nedeniyle kaldırıldıysa "neden" "expired_over içerik" olarak ayarlanır. Bir çerez, atık toplama nedeniyle otomatik olarak kaldırıldıysa "neden" "çıkarılır". Bir çerez "set" nedeniyle otomatik olarak kaldırıldıysa veya "neden", ne yazık ki "üzerine yaz" olacaktır. Cevabınızı buna göre planlayın.
Enum
SameSiteStatus
Bir çerezin "SameSite" durumu (https://tools.ietf.org/html/draft-west-first-party-cookies). "no_restriction" "SameSite=None", "lax" içeren bir çerez grubuna karşılık gelir 'SameSite=Lax' ve 'strict' "SameSite=Strict" değerine ayarlayın. "belirtilmemiş" SameSite özelliğine sahip olmayan bir çerez grubuna karşılık gelir.
Enum
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şturulma zamanı en erken olan çerez döndürülür.
Parametreler
İadeler
-
Promise<Cookie | tanımlanmadı>
Chrome 88 ve sonraki sürümlerManifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, geri çağırmaya iletilen aynı türle çözümlenir.
getAll()
chrome.cookies.getAll(
details: object,
callback?: function,
)
Belirtilen bilgilerle eşleşen tek bir çerez deposundan tüm çerezleri 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şturulma zamanına sahip olanlar ilk olur. Bu yöntem yalnızca uzantının ana makine izinlerine sahip olduğu alanların çerezlerini alır.
Parametreler
-
ayrıntılar
nesne
Alınan çerezleri filtrelemek için gereken bilgiler.
-
alan
dize isteğe bağlı
Alınan çerezleri, alanları bunun alt alanı olan veya bunlarla eşleşen kullanıcılarla kısıtlar.
-
ad
dize 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ğe sahip ç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
boole isteğe bağlı
Çerezleri kendi Güvenli mülklerine göre filtreler.
-
oturum
boole isteğe bağlı
Oturumu ve kalıcı çerezleri filtreler.
-
storeId
dize 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
dize isteğe bağlı
Alınan çerezleri, belirtilen URL ile eşleşeceklerle kısıtlar.
-
-
geri çağırma
işlev 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 mevcut ve süresi dolmamış tüm çerezler.
-
İadeler
-
Promise<Cookie[]>
Chrome 88 ve sonraki sürümlerManifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, 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
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(cookieStores: CookieStore[]) => void
-
cookieStores
Mevcut tüm çerez mağazaları.
-
İadeler
-
Promise<CookieStore[]>
Chrome 88 ve sonraki sürümlerManifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, geri çağırmaya iletilen aynı türle çözümlenir.
remove()
chrome.cookies.remove(
details: CookieDetails,
callback?: function,
)
Çerezi ada göre siler.
Parametreler
-
ayrıntılar
-
geri çağırma
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(details?: object) => void
-
ayrıntılar
nesne isteğe bağlı
Kaldırılan çerezle ilgili ayrıntıları içerir. Kaldırma işlemi herhangi bir nedenle başarısız olursa bu değer "null" olur ve
runtime.lastError
değeri 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 bölüm anahtarı.
-
storeId
dize
Çerezin kaldırıldığı çerez deposunun kimliği.
-
url
dize
Kaldırılan çerezle ilişkili URL.
-
-
İadeler
-
Promise<object | tanımlanmadı>
Chrome 88 ve sonraki sürümlerManifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, geri çağırmaya iletilen aynı türle çözümlenir.
set()
chrome.cookies.set(
details: object,
callback?: function,
)
Belirtilen çerez verilerine sahip bir çerez ayarlar; eşdeğer çerezlerin üzerine yazabilir.
Parametreler
-
ayrıntılar
nesne
Ayarlanan çerezle ilgili ayrıntılar.
-
alan
dize isteğe bağlı
Çerezin alanı. Atlanırsa çerez yalnızca ana makineye özgü çerez olur.
-
expirationDate
sayı isteğe bağlı
UNIX döneminden sonraki saniye sayısı olarak çerezin geçerlilik bitiş tarihi. Atlanırsa çerez bir oturum çerezi olur.
-
httpOnly
boole isteğe bağlı
Çerezin HttpOnly olarak işaretlenip işaretlenmeyeceğini belirler. Varsayılan olarak yanlış değerine ayarlanır.
-
ad
dize isteğe bağlı
Çerezin adı. Atlanırsa varsayılan olarak boştur.
-
partitionKey
CookiePartitionKey isteğe bağlı
Chrome 119 ve sonraki sürümlerBölümlendirilmiş özelliğe sahip ç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 ve sonraki sürümlerÇerezin aynı sitede durumu. Varsayılan olarak "belirtilmemiş", yani 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 belirler. Varsayılan olarak yanlış değerine ayarlanır.
-
storeId
dize isteğe bağlı
Çerezin ayarlanacağı çerez deposunun kimliği. Varsayılan olarak çerez, geçerli yürütme bağlamının çerez deposunda ayarlanır.
-
url
dize
Çerez ayarıyla ilişkilendirilecek request-URI. Bu değer, oluşturulan çerezin varsayılan alan adını ve yol değerlerini etkileyebilir. Manifest dosyasında bu URL için ana makine izinleri belirtilmemişse API çağrısı başarısız olur.
-
value
dize isteğe bağlı
Çerezin değeri. Atlanırsa varsayılan olarak boştur.
-
-
geri çağırma
işlev isteğe bağlı
callback
parametresi şu şekilde görünür:(cookie?: Cookie) => void
-
kurabiye
Çerez isteğe bağlı
Ayarlanan çerezle ilgili ayrıntıları içerir. Ayar herhangi bir nedenle başarısız olursa bu değer "null" olur ve
runtime.lastError
ayarlanır.
-
İadeler
-
Promise<Cookie | tanımlanmadı>
Chrome 88 ve sonraki sürümlerManifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, 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 ö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" yazan bir bildirim oluşturulur. "üzerine yaz" , Daha sonra, güncellenen değerlerle yeni bir çerez yazılır ve "cause" değeri içeren ikinci bir bildirim oluşturulur. "uygunsuz" olarak tanımlar.
Parametreler
-
geri çağırma
işlev
callback
parametresi şu şekilde görünür:(changeInfo: object) => void
-
changeInfo
nesne
-
buna neden olur
Çerezin değişiminin altında yatan neden.
-
kurabiye
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.
-
-