chrome.cookies

Açıklama

Çerezleri sorgulamak, değiştirmek ve değiştiğinde bildirim almak için chrome.cookies API'sini kullanın.

İzinler

cookies

Manifest

Çerezler API'sini kullanmak için manifestinizde "cookies" iznini ve çerezlerine erişmek istediğiniz ana makineler için ana makine izinlerini beyan etmeniz gerekir. Ö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çeve kaynağına göre anahtarlanması gerektiğini işaretlemesine olanak tanır. Bu durumda, A sitesi bir iFrame kullanılarak B ve C sitelerine yerleştirilmişse bölümlendirilmiş bir çerez her sitede farklı bir değere sahip olabilir.

chrome.cookies, bölümlendirmeyi desteklemez. Bu nedenle tüm yöntemler, tüm bölümlerdeki çerezleri okur ve yazar. cookies.set() yöntemi, çerezleri varsayılan bölümde saklar.

Bölümlendirmenin uzantılar üzerindeki genel etkisiyle ilgili ayrıntılar için Depolama Alanı ve Çerezler başlıklı makaleyi inceleyin.

Örnekler

Çerez API'sinin kullanımına ilişkin basit bir örneği examples/api/cookies dizininde bulabilirsiniz. Diğer örnekler ve kaynak kodun görüntülenmesiyle ilgili yardım için Örnekler bölümüne bakın.

Türler

HTTP çereziyle ilgili bilgileri gösterir.

Özellikler

  • dize

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

  • number isteğe bağlı

    Çerezin geçerlilik bitiş tarihi, UNIX sıfır zamanından itibaren saniye sayısı olarak ifade edilir. Oturum çerezleri için sağlanmaz.

  • boolean

    Çerez yalnızca ana makineye ait bir çerezse (yani isteğin ana makinesi, çerezin alan adıyla tam olarak eşleşmelidir) doğru olur.

  • boolean

    Çerez HttpOnly olarak işaretlenmişse (yani çereze istemci tarafı komut dosyaları tarafından erişilemiyorsa) doğru.

  • dize

    Çerezin adı.

  • CookiePartitionKey isteğe bağlı

    Chrome 119 veya daha yeni bir sürüm

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

  • dize

    Çerezin yolu.

  • Chrome 51 veya sonraki sürümler

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

  • boolean

    Çerez Güvenli olarak işaretlenmişse (ör. kapsamı genellikle HTTPS olan güvenli kanallarla sınırlıysa) doğru.

  • boolean

    Çerez, geçerlilik bitiş tarihi olan kalıcı bir çerez yerine oturum çereziyse doğru (True) değerini döndürür.

  • dize

    Bu çerezi içeren çerez deposunun kimliği (getAllCookieStores() içinde sağlandığı şekliyle).

  • dize

    Çerezin değeri.

CookieDetails

Chrome 88 ve sonraki sürümler

Çerezi tanımlamaya yönelik ayrıntılar.

Özellikler

  • ad

    dize

    Erişilecek çerezin adı.

  • partitionKey

    CookiePartitionKey isteğe bağlı

    Chrome 119 veya daha yeni bir sürüm

    Bölümlendirilmiş özelliği olan ç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, mevcut yürütme bağlamının çerez deposu kullanılır.

  • url

    dize

    Erişilecek çerezle ilişkilendirilen URL. Bu bağımsız değişken tam bir URL olabilir.Bu durumda, URL yolunu izleyen tüm 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 veya daha yeni bir sürüm

Bölümlendirilmiş bir çerezin bölüm anahtarını temsil eder.

Özellikler

  • hasCrossSiteAncestor

    boolean isteğe bağlı

    Chrome 130 veya daha yeni bir sürüm

    Çerezin siteler arası bağlamda ayarlanıp ayarlanmadığını gösterir. Bu, siteler arası bağlamda 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 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

Chrome 132 veya daha yeni bir sürüm

Çerçeveyi tanımlamaya yönelik ayrıntılar.

Özellikler

  • documentId

    dize isteğe bağlı

    Belgenin benzersiz tanımlayıcısı. frameId ve/veya tabId sağlanırsa, sağlanan belge kimliğiyle bulunan belgeyle eşleşip eşleşmediği doğrulanır.

  • frameId

    number isteğe bağlı

    Sekmedeki çerçevenin benzersiz tanımlayıcısı.

  • tabId

    number isteğe bağlı

    Çerçeveyi içeren sekmenin benzersiz tanımlayıcısı.

OnChangedCause

Chrome 44 veya daha yeni bir sürüm

Çerezin değişmesinin temel nedeni. Bir çerez "chrome.cookies.remove" için açık bir çağrı yoluyla eklenmişse veya kaldırılmışsa "neden" "açık" olur. Bir çerez, geçerlilik süresi dolduğu için otomatik olarak kaldırıldıysa "neden" olarak "geçerlilik süresi doldu" gösterilir. Bir çerez, geçerlilik bitiş tarihi zaten geçmiş olan bir tarihle üzerine yazıldığı için kaldırıldıysa "neden" "expired_overwrite" olarak ayarlanır. Bir çerez, çöp toplama nedeniyle otomatik olarak kaldırıldıysa "neden" "çıkarıldı" olur. Bir çerez, üzerine yazan bir "set" çağrısı nedeniyle otomatik olarak kaldırıldıysa "neden" "üzerine yazma" olur. Yanıtınızı buna göre planlayın.

Enum

"evicted"

"expired"

"explicit"

"expired_overwrite"

"overwrite"

SameSiteStatus

Chrome 51 veya sonraki sürümler

Çerezin "SameSite" durumu (https://tools.ietf.org/html/draft-west-first-party-cookies). "no_restriction" değeri, "SameSite=None" ile ayarlanan bir çereze, "lax" değeri "SameSite=Lax" ile ayarlanan bir çereze, "strict" değeri ise "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()

Promise
chrome.cookies.get(
  details: CookieDetails,
  callback?: function,
)
: Promise<Cookie | undefined>

Tek bir çerezle ilgili bilgileri getirir. Belirli bir URL için aynı ada sahip birden fazla çerez varsa en uzun yola sahip olan 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
  • callback

    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 bulunamazsa bu parametre null olur.

İadeler

  • Promise<Cookie | undefined>

    Chrome 88 ve sonraki sürümler

    Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.

getAll()

Promise
chrome.cookies.getAll(
  details: object,
  callback?: function,
)
: 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 önce gelecek şekilde sıralanır. Birden fazla çerez aynı yol uzunluğuna sahipse en erken oluşturulma zamanına sahip olanlar önce gelir. Bu yöntem yalnızca uzantının ana makine izinlerine sahip olduğu alan adlarının çerezlerini alır.

Parametreler

  • ayrıntılar

    nesne

    Alınan çerezleri filtrelemek için kullanılan bilgiler.

    • alan

      dize 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 sınırlar.

    • ad

      dize isteğe bağlı

      Çerezleri ada göre filtreler.

    • partitionKey

      CookiePartitionKey isteğe bağlı

      Chrome 119 veya daha yeni bir sürüm

      Bölümlendirilmiş özelliği olan ç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

      boolean isteğe bağlı

      Çerezleri Secure özelliğine göre filtreler.

    • oturum

      boolean isteğe bağlı

      Oturum çerezlerini kalıcı çerezlerden ayırır.

    • storeId

      dize isteğe bağlı

      Çerezlerin alınacağı çerez deposu. Boş bırakılırsa mevcut yürütme bağlamının çerez deposu kullanılır.

    • url

      dize isteğe bağlı

      Alınan çerezleri, verilen URL ile eşleşenlerle kısıtlar.

  • callback

    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, süresi dolmamış tüm mevcut çerezler.

İadeler

  • Promise<Cookie[]>

    Chrome 88 ve sonraki sürümler

    Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.

getAllCookieStores()

Promise
chrome.cookies.getAllCookieStores(
  callback?: function,
)
: Promise<CookieStore[]>

Mevcut tüm çerez depolarını listeler.

Parametreler

  • callback

    işlev isteğe bağlı

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

    (cookieStores: CookieStore[]) => void

    • cookieStores

      Mevcut tüm çerez depoları.

İadeler

  • Promise<CookieStore[]>

    Chrome 88 ve sonraki sürümler

    Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.

getPartitionKey()

Promise Chrome 132+
chrome.cookies.getPartitionKey(
  details: FrameDetails,
  callback?: function,
)
: Promise<object>

Belirtilen karenin bölüm anahtarı.

Parametreler

  • ayrıntılar
  • callback

    işlev isteğe bağlı

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

    (details: object) => void

    • ayrıntılar

      nesne

      Alınan bölüm anahtarıyla ilgili ayrıntıları içerir.

      • partitionKey

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

İadeler

  • Promise<object>

    Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.

remove()

Promise
chrome.cookies.remove(
  details: CookieDetails,
  callback?: function,
)
: Promise<object | undefined>

Çerezi ada göre siler.

Parametreler

  • ayrıntılar
  • callback

    işlev isteğe bağlı

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

    (details?: object) => void

    • ayrıntılar

      object 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 ayarlanır.

      • ad

        dize

        Kaldırılan çerezin adı.

      • partitionKey

        CookiePartitionKey isteğe bağlı

        Chrome 119 veya daha yeni bir sürüm

        Bölümlendirilmiş özelliği olan ç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ılan çerezle ilişkili URL.

İadeler

  • Promise<object | undefined>

    Chrome 88 ve sonraki sürümler

    Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.

set()

Promise
chrome.cookies.set(
  details: object,
  callback?: function,
)
: Promise<Cookie | undefined>

Belirtilen çerez verileriyle bir çerez ayarlar. Eşdeğer çerezler varsa bunların üzerine yazabilir.

Parametreler

  • ayrıntılar

    nesne

    Ayarlanan çerezle ilgili ayrıntılar.

    • alan

      dize isteğe bağlı

      Çerezin alan adı. Atlanırsa çerez yalnızca ana makineye ait bir çerez olur.

    • expirationDate

      number isteğe bağlı

      Çerezin geçerlilik bitiş tarihi, UNIX sıfır zamanından itibaren saniye sayısı olarak ifade edilir. Atlanırsa çerez, oturum çerezi olur.

    • httpOnly

      boolean isteğe bağlı

      Çerezin HttpOnly olarak işaretlenip işaretlenmeyeceği. Varsayılan olarak false değerine ayarlanır.

    • ad

      dize isteğe bağlı

      Çerezin adı. Boş bırakılırsa varsayılan olarak boş olur.

    • partitionKey

      CookiePartitionKey isteğe bağlı

      Chrome 119 veya daha yeni bir sürüm

      Bölümlendirilmiş özelliği olan ç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 veya sonraki sürümler

      Çerezin aynı site durumu. Varsayılan olarak "belirtilmemiş"tir. Yani atlanırsa çerez, bir SameSite özelliği belirtilmeden ayarlanır.

    • güvenli

      boolean isteğe bağlı

      Çerezin güvenli olarak işaretlenip işaretlenmeyeceği. Varsayılan olarak false değerine ayarlanır.

    • storeId

      dize 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 çerezlerin 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

      dize isteğe bağlı

      Çerezin değeri. Boş bırakılırsa varsayılan olarak boş olur.

  • callback

    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 | undefined>

    Chrome 88 ve sonraki sürümler

    Promises yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformlarda geri çağırmalar kullanılmalıdır.

Etkinlikler

onChanged

chrome.cookies.onChanged.addListener(
  callback: function,
)

Bir çerez ayarlandığında veya kaldırıldığında tetiklenir. Özel bir durum olarak, çerez özelliklerinin güncellenmesinin 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

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

    (changeInfo: object) => void

    • changeInfo

      nesne

      • nedenini

        Çerezin değişmesinin temel nedeni.

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