browser.cookies

Açıklama

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

İzinler

cookies

Çerez API'sini kullanmak için manifest dosyanızda "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. Örneğin, A sitesi, B ve C sitelerine iFrame kullanılarak yerleştirilmişse A'dan gelen 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ümlenmemiş çerezlerde çalışır. Bu davranışı geçersiz kılmak için partitionKey özelliği kullanılabilir.

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

Örnekler

Cookies API'nin kullanımına dair basit bir örneği examples/api/cookies dizininde bulabilirsiniz. Diğer örnekler ve kaynak kodunu görüntüleme konusunda yardım için Örnekler bölümüne bakın.

Türler

HTTP çereziyle ilgili bilgileri temsil eder.

Özellikler

  • dize

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

  • number isteğe bağlı

    Çerezin geçerlilik bitiş tarihi, UNIX epoch'tan bu yana geçen saniye sayısı olarak ifade edilir. Oturum çerezleri için sağlanmaz.

  • boole

    Çerez yalnızca ana makine çereziyse (yani bir isteğin ana makinesi, çerezin alanıyla tam olarak eşleşmelidir) True değerini alır.

  • boole

    Çerez, HttpOnly olarak işaretlenmişse (yani çereze istemci tarafı komut dosyaları tarafından erişilemiyorsa) True değerini alır.

  • dize

    Çerezin adı.

  • CookiePartitionKey isteğe bağlı

    Chrome 119 ve sonraki sürümler Chrome 148'den itibaren browser.*

    Partitioned ö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 Chrome 148'den itibaren browser.*

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

  • boole

    Çerez, Güvenli olarak işaretlenmişse (yani kapsamı güvenli kanallarla, genellikle HTTPS ile sınırlıysa) True değerini alır.

  • boole

    Çerez, geçerlilik bitiş tarihi olan kalıcı bir çerez yerine oturum çereziyse değer "doğru"dur.

  • dize

    getAllCookieStores() içinde sağlandığı şekilde, bu çerezi içeren çerez deposunun kimliği.

  • dize

    Çerezin değeri.

CookieDetails

Chrome 88 ve sonraki sürümler Chrome 148'den itibaren browser.*

Ç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 Chrome 148'den itibaren browser.*

    Partitioned ö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, geçerli yürütme bağlamının çerez deposu kullanılır.

  • url

    dize

    Erişilecek çerezin ilişkili olduğu URL. Bu bağımsız değişken tam bir URL olabilir.Bu durumda, URL yolunu izleyen tüm veriler (ör. sorgu dizesi) yoksayı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 Chrome 148'den itibaren browser.*

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

Özellikler

  • hasCrossSiteAncestor

    boole isteğe bağlı

    Chrome 130 ve sonraki sürümler Chrome 148'den itibaren browser.*

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

    string 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 ve sonraki sürümler Chrome 148'den itibaren browser.*

Kareyi tanımlayan ayrıntılar.

Özellikler

  • documentId

    string isteğe bağlı

    Dokümanın benzersiz tanımlayıcısı. frameId ve/veya tabId sağlanırsa sağlanan doküman kimliği tarafından bulunan dokümanla eşleşecek şekilde doğrulanır.

  • frameId

    number isteğe bağlı

    Sekme içindeki ç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 ve sonraki sürümler Chrome 148'den itibaren browser.*

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

Enum

"evicted"

"expired"

"explicit"

"expired_overwrite"

"üzerine yaz"

SameSiteStatus

Chrome 51 ve sonraki sürümler Chrome 148'den itibaren browser.*

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

browser.cookies.get(
  details: CookieDetails,
)
: Promise<Cookie | undefined>

Tek bir çerezle ilgili bilgileri getirir. Belirtilen URL için aynı ada sahip birden fazla çerez varsa en uzun yola sahip olan çerez döndürülür. Aynı yol uzunluğuna sahip çerezler için en erken oluşturma zamanına sahip çerez döndürülür.

Parametreler

İadeler

  • Promise<Cookie | undefined>

    Chrome 88 ve sonraki sürümler Chrome 148'den itibaren browser.*

getAll()

browser.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 ilk sırada olacak şekilde sıralanır. Birden fazla çerez aynı yol uzunluğuna sahipse en erken oluşturma zamanına sahip olanlar ilk sırada yer alır. Bu yöntem yalnızca uzantının ana makine izinlerine sahip olduğu alanlar için ç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, alan adları bu alan adıyla eşleşen veya bu alan adının alt alan adları olan çerezlerle 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 Chrome 148'den itibaren browser.*

      Partitioned ö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 özelliğine göre filtreler.

    • oturum

      boole isteğe bağlı

      Oturum çerezleri ile kalıcı çerezleri filtreler.

    • storeId

      string 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

      string isteğe bağlı

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

İadeler

  • Promise<Cookie[]>

    Chrome 88 ve sonraki sürümler Chrome 148'den itibaren browser.*

getAllCookieStores()

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

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

İadeler

  • Promise<CookieStore[]>

    Chrome 88 ve sonraki sürümler Chrome 148'den itibaren browser.*

getPartitionKey()

Chrome 132 ve sonraki sürümler Chrome 148'den itibaren browser.*
browser.cookies.getPartitionKey(
  details: FrameDetails,
)
: Promise<object>

Belirtilen kare için bölüm anahtarı.

Parametreler

İadeler

  • Promise<object>

remove()

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

Bir çerezi ada göre siler.

Parametreler

İadeler

  • Promise<object | undefined>

    Chrome 88 ve sonraki sürümler Chrome 148'den itibaren browser.*

set()

browser.cookies.set(
  details: object,
)
: Promise<Cookie | undefined>

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

    • expirationDate

      number isteğe bağlı

      Çerezin geçerlilik bitiş tarihi, UNIX epoch'tan bu yana geçen saniye sayısı olarak ifade edilir. Atlanırsa çerez, oturum çerezi olur.

    • httpOnly

      boole isteğe bağlı

      Çerezin HttpOnly olarak işaretlenip işaretlenmeyeceğini belirtir. Varsayılan olarak "false" (yanlış) değerine ayarlıdır.

    • ad

      string isteğe bağlı

      Çerezin adı. Atlanırsa varsayılan olarak boş bırakılır.

    • partitionKey

      CookiePartitionKey isteğe bağlı

      Chrome 119 ve sonraki sürümler Chrome 148'den itibaren browser.*

      Partitioned ö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ına ayarlanır.

    • sameSite

      SameSiteStatus isteğe bağlı

      Chrome 51 ve sonraki sürümler Chrome 148'den itibaren browser.*

      Çerezin aynı site durumu. Varsayılan olarak "unspecified" değerine ayarlanır. Yani atlanırsa çerez, SameSite özelliği belirtilmeden ayarlanır.

    • güvenli

      boole isteğe bağlı

      Çerezin Güvenli olarak işaretlenip işaretlenmeyeceği. Varsayılan olarak "false" (yanlış) değerine ayarlıdı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

      Çerez ayarıyla ilişkilendirilecek istek URI'si. 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ş bırakılır.

İadeler

  • Promise<Cookie | undefined>

    Chrome 88 ve sonraki sürümler Chrome 148'den itibaren browser.*

Etkinlikler

onChanged

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

Bir çerez ayarlandığında 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" 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 altında yatan neden.

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

      • kaldırıldı

        boole

        Bir çerez kaldırıldıysa "doğru" değerini döndürür.