chrome.cookies

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

Bir HTTP çereziyle ilgili bilgileri temsil eder.

Özellikler

  • dize

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

  • sayı isteğe bağlı

    UNIX döneminden sonraki saniye sayısı olarak çerezin geçerlilik bitiş tarihi. Oturum çerezleri için sağlanmaz.

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

  • boolean

    Çerez HttpOnly olarak işaretlendiyse (çerez, istemci taraflı komut dosyaları için erişilemiyorsa) 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ğe 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 (çerezin siteler arası isteklerle gönderilip gönderilmediği).

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

  • boolean

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

  • dize

    Bu çerezi içeren çerez mağazasının, getAllCookieStores() işlevinde sağlanan kimliği.

  • dize

    Çerezin değeri.

CookieDetails

Chrome 88 ve sonraki sürümler

Ç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ümler

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

Chrome 119 ve sonraki sürümler

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

Chrome 44 ve sonraki sürümler

Ç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

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

Promise
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

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

    işlev 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 bulunamadıysa bu parametre boştur.

İadeler

  • Promise<Cookie | tanımlanmadı>

    Chrome 88 ve sonraki sürümler

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

Promise
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ümler

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

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

İadeler

  • Promise<Cookie[]>

    Chrome 88 ve sonraki sürümler

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

Promise
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ümler

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

Promise
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ümler

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

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

Promise
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ümler

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

    • Ç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ümler

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

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