chrome.cookies

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

HTTP çereziyle ilgili bilgileri temsil eder.

Özellikler

  • dize

    Çerezin alan adı (ör. "www.google.com", "example.com").

  • 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.

  • 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.

  • boolean

    Çerez, HttpOnly olarak işaretlenmişse (yani, istemci taraflı komut dosyaları çereze erişemiyorsa) doğru değerini döndürür.

  • dize

    Çerezin adı.

  • CookiePartitionKey isteğe bağlı

    Chrome 119 ve sonraki sürümler

    Bölümlendirilmiş özelliğine sahip çerezleri okumak veya değiştirmek için kullanılan bölüm anahtarı.

  • dize

    Çerezin yolu.

  • Chrome 51 ve sonraki sürümler

    Çerezin aynı site durumu (ör. çerezin siteler arası isteklerle gönderilip gönderilmeyeceği)

  • 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.

  • boolean

    Çerez bir oturum çereziyse, son kullanma tarihi olan kalıcı bir çerezse doğru değerini alır.

  • dize

    Bu çerezi içeren çerez deposunun getAllCookieStores() işlevinde sağlanan kimliği.

  • dize

    Çerezin değeri.

CookieDetails

Chrome 88 ve sonraki sürümler

Ç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

    Bö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

Chrome 119 ve sonraki sürümler

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

Chrome 44 ve sonraki sürümler

Ç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

Chrome 51 ve sonraki sürümler

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()

Söz
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

  • ayrıntılar
  • geri çağırma

    Functions (isteğe bağlı)

    callback parametresi şu şekilde görünür:

    (cookie?: Cookie)=>void

    • Çerez isteğe bağlı

      Çerezle ilgili ayrıntıları içerir. Böyle bir çerez bulunmadıysa bu parametre null olur.

İlerlemeler

  • Söz<Çerez|undefined>

    Chrome 88 ve sonraki sürümler

    Vaatler, 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()

Söz
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ümler

      Bö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

      Belirtilen çerez bilgileriyle eşleşen tüm mevcut, süresi dolmamış çerezler.

İlerlemeler

  • Promise<Cookie[]>

    Chrome 88 ve sonraki sürümler

    Vaatler, 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()

Söz
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ümler

    Vaatler, 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()

Söz
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ümler

        Bö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ümler

    Vaatler, 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()

Söz
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ümler

      Bö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 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

  • Söz<Çerez|undefined>

    Chrome 88 ve sonraki sürümler

    Vaatler, 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

      • Çerez değişikliğinin temel nedeni.

      • Ayarlanan veya kaldırılan çerezle ilgili bilgiler.

      • kaldırılmış

        boolean

        Bir çerez kaldırıldıysa doğru değerini alır.