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

Çerezler API'sini kullanmak için manifestinizde "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. Bu, örneğin A sitesi B ve C sitelerine bir iFrame kullanılarak yerleştirilmişse A sitesinden bölümlendirilmiş bir çerezin yerleştirilmiş sürümlerinin B ve C sitelerinde farklı değerlere sahip olabileceği anlamına gelir.

Varsayılan olarak, tüm API yöntemleri bölümlenmemiş çerezler üzerinde çalışır. Bu davranışı geçersiz kılmak için partitionKey özelliği kullanılabilir.

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

chrome.cookies.get(
  details: CookieDetails,
)
: 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

İadeler

  • Promise<Cookie | undefined>

    Chrome 88 ve sonraki sürümler

getAll()

chrome.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 ö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.

İadeler

  • Promise<Cookie[]>

    Chrome 88 ve sonraki sürümler

getAllCookieStores()

chrome.cookies.getAllCookieStores(): Promise<CookieStore[]>

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

İadeler

  • Promise<CookieStore[]>

    Chrome 88 ve sonraki sürümler

getPartitionKey()

Chrome 132 veya daha yeni bir sürüm
chrome.cookies.getPartitionKey(
  details: FrameDetails,
)
: Promise<object>

Belirtilen karenin bölüm anahtarı.

Parametreler

İadeler

  • Promise<object>

remove()

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

Çerezi ada göre siler.

Parametreler

İadeler

  • Promise<object | undefined>

    Chrome 88 ve sonraki sürümler

set()

chrome.cookies.set(
  details: object,
)
: 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.

İadeler

  • Promise<Cookie | undefined>

    Chrome 88 ve sonraki sürümler

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.