chrome.cookies

refresh date: 2026-09-25 robots: noindex

ब्यौरा

कुकी में बदलाव करने और उनसे जुड़ी क्वेरी करने के लिए, chrome.cookies API का इस्तेमाल करें. साथ ही, कुकी में बदलाव होने पर सूचना पाएं.

अनुमतियां

cookies

मेनिफ़ेस्ट

Cookies API का इस्तेमाल करने के लिए, आपको अपने मेनिफ़ेस्ट में "cookies" अनुमति का एलान करना होगा. साथ ही, आपको उन होस्ट के लिए होस्ट अनुमतियां देनी होंगी जिनकी कुकी आपको ऐक्सेस करनी हैं. उदाहरण के लिए:

{
  "name": "My extension",
  ...
  "host_permissions": [
    "*://*.google.com/"
  ],
  "permissions": [
    "cookies"
  ],
  ...
}

पार्टिशन करना

पार्टिशन की गई कुकी की मदद से, कोई साइट यह मार्क कर सकती है कि कुछ कुकी को टॉप लेवल फ़्रेम के ऑरिजिन के हिसाब से कुंजी दी जानी चाहिए. इसका मतलब है कि अगर साइट A को साइट B और साइट C में iframe का इस्तेमाल करके एम्बेड किया जाता है, तो पार्टीशन की गई कुकी की वैल्यू हर साइट में अलग-अलग हो सकती है.

chrome.cookies में पार्टिशनिंग की सुविधा काम नहीं करती. इसका मतलब है कि सभी तरीके, सभी पार्टिशन से कुकी पढ़ते और लिखते हैं. cookies.set() तरीके से कुकी को डिफ़ॉल्ट पार्टीशन में सेव किया जाता है.

एक्सटेंशन के लिए, पार्टिशनिंग के सामान्य असर के बारे में जानने के लिए, स्टोरेज और कुकी देखें.

उदाहरण

examples/api/cookies डायरेक्ट्री में, Cookies API के इस्तेमाल का एक आसान उदाहरण देखा जा सकता है. अन्य उदाहरणों और सोर्स कोड देखने में मदद पाने के लिए, सैंपल देखें.

टाइप

यह एचटीटीपी कुकी के बारे में जानकारी दिखाता है.

प्रॉपर्टी

  • स्ट्रिंग

    कुकी का डोमेन (जैसे, "www.google.com", "example.com").

  • number optional

    यह कुकी के खत्म होने की तारीख है. इसे UNIX epoch के बाद से सेकंड की संख्या के तौर पर दिखाया जाता है. यह सेशन कुकी के लिए उपलब्ध नहीं है.

  • बूलियन

    अगर कुकी सिर्फ़ होस्ट के लिए है, तो इस फ़ील्ड की वैल्यू 'सही है' होती है. इसका मतलब है कि अनुरोध करने वाले होस्ट का डोमेन, कुकी के डोमेन से पूरी तरह मेल खाना चाहिए.

  • बूलियन

    अगर कुकी को HttpOnly के तौर पर मार्क किया गया है, तो यह वैल्यू True होती है. इसका मतलब है कि कुकी को क्लाइंट-साइड स्क्रिप्ट ऐक्सेस नहीं कर सकती हैं.

  • स्ट्रिंग

    कुकी का नाम.

  • CookiePartitionKey ज़रूरी नहीं है

    Chrome 119 या इसके बाद के वर्शन

    Partitioned एट्रिब्यूट वाली कुकी को पढ़ने या उनमें बदलाव करने के लिए, पार्टीशन की.

  • स्ट्रिंग

    कुकी का पाथ.

  • Chrome 51 या इसके बाद के वर्शन

    कुकी का SameSite स्टेटस. इसका मतलब है कि कुकी को किसी दूसरी साइट से किए गए अनुरोधों के साथ भेजा जाता है या नहीं.

  • बूलियन

    अगर कुकी को Secure के तौर पर मार्क किया गया है, तो यह वैल्यू True होती है. इसका मतलब है कि इसका दायरा सुरक्षित चैनलों (आम तौर पर, एचटीटीपीएस) तक सीमित है.

  • बूलियन

    अगर कुकी, सेशन कुकी है, तो यह वैल्यू 'सही है' पर सेट होती है. सेशन कुकी, खत्म होने की तारीख वाली परसिस्टेंट कुकी से अलग होती है.

  • स्ट्रिंग

    इस कुकी को सेव करने वाले कुकी स्टोर का आईडी. यह आईडी, getAllCookieStores() में दिया गया है.

  • स्ट्रिंग

    कुकी की वैल्यू.

CookieDetails

Chrome 88 या इसके बाद का वर्शन

कुकी की पहचान करने के लिए जानकारी.

प्रॉपर्टी

  • नाम

    स्ट्रिंग

    ऐक्सेस की जाने वाली कुकी का नाम.

  • partitionKey

    CookiePartitionKey ज़रूरी नहीं है

    Chrome 119 या इसके बाद के वर्शन

    Partitioned एट्रिब्यूट वाली कुकी को पढ़ने या उनमें बदलाव करने के लिए, पार्टीशन की.

  • storeId

    string ज़रूरी नहीं है

    उस कुकी स्टोर का आईडी जिसमें कुकी को ढूंढना है. डिफ़ॉल्ट रूप से, मौजूदा एक्ज़ीक्यूशन कॉन्टेक्स्ट के कुकी स्टोर का इस्तेमाल किया जाएगा.

  • url

    स्ट्रिंग

    वह यूआरएल जिससे कुकी को ऐक्सेस करना है. यह आर्ग्युमेंट पूरा यूआरएल हो सकता है. ऐसे में, यूआरएल पाथ के बाद आने वाले किसी भी डेटा (जैसे, क्वेरी स्ट्रिंग) को अनदेखा कर दिया जाता है. अगर मेनिफ़ेस्ट फ़ाइल में इस यूआरएल के लिए होस्ट अनुमतियां नहीं दी गई हैं, तो एपीआई कॉल नहीं किया जा सकेगा.

CookiePartitionKey

Chrome 119 या इसके बाद के वर्शन

यह किसी पार्टिशन्ड कुकी की पार्टिशन की कुंजी को दिखाता है.

प्रॉपर्टी

  • hasCrossSiteAncestor

    boolean ज़रूरी नहीं है

    Chrome 130 और इसके बाद के वर्शन

    इससे पता चलता है कि कुकी को एक से ज़्यादा साइट के कॉन्टेक्स्ट में सेट किया गया था या नहीं. इससे, किसी दूसरी साइट के कॉन्टेक्स्ट में एम्बेड की गई टॉप-लेवल साइट को, एक ही साइट के कॉन्टेक्स्ट में टॉप-लेवल साइट की सेट की गई कुकी को ऐक्सेस करने से रोका जाता है.

  • topLevelSite

    string ज़रूरी नहीं है

    वह टॉप-लेवल साइट जिस पर पार्टिशन्ड कुकी उपलब्ध है.

CookieStore

यह ब्राउज़र में कुकी स्टोर करने की जानकारी देता है. उदाहरण के लिए, गुप्त मोड वाली विंडो, गुप्त मोड के बिना वाली विंडो से अलग कुकी स्टोर का इस्तेमाल करती है.

प्रॉपर्टी

  • id

    स्ट्रिंग

    कुकी स्टोर के लिए यूनीक आइडेंटिफ़ायर.

  • tabIds

    number[]

    इस कुकी स्टोर को शेयर करने वाले सभी ब्राउज़र टैब के आइडेंटिफ़ायर.

FrameDetails

Chrome 132 या इसके बाद के वर्शन

फ़्रेम की पहचान करने के लिए जानकारी.

प्रॉपर्टी

  • documentId

    string ज़रूरी नहीं है

    दस्तावेज़ के लिए यूनीक आइडेंटिफ़ायर. अगर frameId और/या tabId दिए जाते हैं, तो उनकी पुष्टि की जाएगी. इससे यह पता चलेगा कि वे दिए गए दस्तावेज़ आईडी से मिले दस्तावेज़ से मेल खाते हैं या नहीं.

  • frameId

    number optional

    टैब में मौजूद फ़्रेम के लिए यूनीक आइडेंटिफ़ायर.

  • tabId

    number optional

    फ़्रेम को शामिल करने वाले टैब के लिए यूनीक आइडेंटिफ़ायर.

OnChangedCause

Chrome 44 या इसके बाद का वर्शन

कुकी में हुए बदलाव की वजह. अगर कुकी को "chrome.cookies.remove" को साफ़ तौर पर कॉल करके डाला या हटाया गया था, तो "cause" "explicit" होगा. अगर कुकी की समयसीमा खत्म होने की वजह से उसे अपने-आप हटा दिया गया था, तो "वजह" के तौर पर "समयसीमा खत्म हो गई" दिखेगा. अगर किसी कुकी को इसलिए हटाया गया है, क्योंकि उसे पहले से खत्म हो चुकी समयसीमा वाली कुकी से बदल दिया गया था, तो "वजह" को "expired_overwrite" पर सेट किया जाएगा. अगर किसी कुकी को गार्बेज कलेक्शन की वजह से अपने-आप हटा दिया गया था, तो "वजह" के तौर पर "evicted" दिखेगा. अगर किसी कुकी को "सेट" कॉल की वजह से अपने-आप हटा दिया गया था, तो "cause" की वैल्यू "overwrite" होगी. इसके हिसाब से जवाब देने की योजना बनाएं.

Enum

"evicted"

"expired"

"explicit"

"expired_overwrite"

"overwrite"

SameSiteStatus

Chrome 51 या इसके बाद के वर्शन

कुकी की 'SameSite' स्थिति (https://tools.ietf.org/html/draft-west-first-party-cookies). 'no_restriction' का मतलब है कि कुकी को 'SameSite=None' के साथ सेट किया गया है. 'lax' का मतलब है कि कुकी को 'SameSite=Lax' के साथ सेट किया गया है. वहीं, 'strict' का मतलब है कि कुकी को 'SameSite=Strict' के साथ सेट किया गया है. 'unspecified' का मतलब है कि कुकी को SameSite एट्रिब्यूट के बिना सेट किया गया है.

Enum

"no_restriction"

"lax"

"strict"

"unspecified"

तरीके

get()

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

यह कुकी, किसी एक कुकी के बारे में जानकारी इकट्ठा करती है. अगर दिए गए यूआरएल के लिए, एक ही नाम की एक से ज़्यादा कुकी मौजूद हैं, तो सबसे लंबे पाथ वाली कुकी को दिखाया जाएगा. अगर एक ही पाथ लेंथ वाली कुकी मौजूद हैं, तो सबसे पहले बनाई गई कुकी को दिखाया जाएगा.

पैरामीटर

  • ब्यौरा
  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं है

    callback पैरामीटर ऐसा दिखता है:

    (cookie?: Cookie) => void

    • कुकी ज़रूरी नहीं है

      इसमें कुकी के बारे में जानकारी होती है. अगर ऐसी कोई कुकी नहीं मिली है, तो इस पैरामीटर की वैल्यू शून्य होती है.

रिटर्न

  • Promise<Cookie | undefined>

    Chrome 88 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

getAll()

Promise
chrome.cookies.getAll(
  details: object,
  callback?: function,
)
: Promise<Cookie[]>

यह कुकी स्टोर से उन सभी कुकी को वापस लाता है जो दी गई जानकारी से मेल खाती हैं. नतीजे में मिली कुकी को क्रम से लगाया जाएगा. इसमें सबसे लंबे पाथ वाली कुकी सबसे पहले दिखेगी. अगर कई कुकी के पाथ की लंबाई एक जैसी है, तो सबसे पहले बनाई गई कुकी सबसे पहले दिखेंगी. यह तरीका सिर्फ़ उन डोमेन के लिए कुकी वापस पाता है जिनके लिए एक्सटेंशन के पास होस्ट अनुमतियां हैं.

पैरामीटर

  • ब्यौरा

    ऑब्जेक्ट

    यह जानकारी, वापस लाई जा रही कुकी को फ़िल्टर करने के लिए होती है.

    • डोमेन

      string ज़रूरी नहीं है

      यह कुकी, सिर्फ़ उन कुकी को वापस पाने की अनुमति देती है जिनके डोमेन, इस कुकी के डोमेन से मेल खाते हैं या इसके सबडोमेन हैं.

    • नाम

      string ज़रूरी नहीं है

      यह कुकी, नाम के हिसाब से कुकी को फ़िल्टर करती है.

    • partitionKey

      CookiePartitionKey ज़रूरी नहीं है

      Chrome 119 या इसके बाद के वर्शन

      Partitioned एट्रिब्यूट वाली कुकी को पढ़ने या उनमें बदलाव करने के लिए, पार्टीशन की.

    • पाथ

      string ज़रूरी नहीं है

      यह विकल्प, सिर्फ़ उन कुकी को वापस पाने की अनुमति देता है जिनका पाथ इस स्ट्रिंग से पूरी तरह मेल खाता है.

    • सुरक्षित

      boolean ज़रूरी नहीं है

      यह कुकी, कुकी को उनकी Secure प्रॉपर्टी के हिसाब से फ़िल्टर करती है.

    • सेशन

      boolean ज़रूरी नहीं है

      यह सेशन कुकी और परसिस्टेंट कुकी को फ़िल्टर करती है.

    • storeId

      string ज़रूरी नहीं है

      वह कुकी स्टोर जिससे कुकी वापस लानी हैं. अगर इसे शामिल नहीं किया जाता है, तो मौजूदा एक्ज़ीक्यूशन कॉन्टेक्स्ट के कुकी स्टोर का इस्तेमाल किया जाएगा.

    • url

      string ज़रूरी नहीं है

      यह कुकी, फ़ेच की गई कुकी को उन कुकी तक सीमित करती है जो दिए गए यूआरएल से मेल खाती हैं.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं है

    callback पैरामीटर ऐसा दिखता है:

    (cookies: Cookie[]) => void

    • कुकी का इस्तेमाल करता है

      मौजूदा समय में मौजूद ऐसी सभी कुकी जो खत्म नहीं हुई हैं और दी गई कुकी की जानकारी से मेल खाती हैं.

रिटर्न

  • Promise<Cookie[]>

    Chrome 88 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

getAllCookieStores()

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

यह कुकी, सभी मौजूदा कुकी स्टोर की सूची बनाती है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं है

    callback पैरामीटर ऐसा दिखता है:

    (cookieStores: CookieStore[]) => void

    • cookieStores

      सभी मौजूदा कुकी स्टोर.

रिटर्न

  • Promise<CookieStore[]>

    Chrome 88 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

getPartitionKey()

Promise Chrome 132 और इसके बाद के वर्शन
chrome.cookies.getPartitionKey(
  details: FrameDetails,
  callback?: function,
)
: Promise<object>

दिखाए गए फ़्रेम के लिए पार्टिशन की.

पैरामीटर

  • ब्यौरा
  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं है

    callback पैरामीटर ऐसा दिखता है:

    (details: object) => void

    • ब्यौरा

      ऑब्जेक्ट

      इस कुकी में, वापस पाई गई पार्टीशन कुंजी के बारे में जानकारी होती है.

      • partitionKey

        Partitioned एट्रिब्यूट वाली कुकी को पढ़ने या उनमें बदलाव करने के लिए, पार्टीशन की.

रिटर्न

  • Promise<object>

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

remove()

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

यह कुकी को नाम के हिसाब से मिटाता है.

पैरामीटर

  • ब्यौरा
  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं है

    callback पैरामीटर ऐसा दिखता है:

    (details?: object) => void

    • ब्यौरा

      ऑब्जेक्ट ज़रूरी नहीं

      इस कुकी में, हटाई गई कुकी के बारे में जानकारी होती है. अगर किसी वजह से वीडियो नहीं हटाया जा सका, तो वादा अस्वीकार कर दिया जाएगा.

      • नाम

        स्ट्रिंग

        हटाए गए कुकी का नाम.

      • partitionKey

        CookiePartitionKey ज़रूरी नहीं है

        Chrome 119 या इसके बाद के वर्शन

        Partitioned एट्रिब्यूट वाली कुकी को पढ़ने या उनमें बदलाव करने के लिए, पार्टीशन की.

      • storeId

        स्ट्रिंग

        उस कुकी स्टोर का आईडी जिससे कुकी हटाई गई थी.

      • url

        स्ट्रिंग

        हटा दी गई कुकी से जुड़ा यूआरएल.

रिटर्न

  • Promise<object | undefined>

    Chrome 88 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

set()

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

यह कुकी, दिए गए कुकी डेटा के साथ कुकी सेट करती है. अगर ऐसी कुकी पहले से मौजूद हैं, तो यह उन्हें बदल सकती है.

पैरामीटर

  • ब्यौरा

    ऑब्जेक्ट

    सेट की जा रही कुकी के बारे में जानकारी.

    • डोमेन

      string ज़रूरी नहीं है

      कुकी का डोमेन. अगर इसे शामिल नहीं किया जाता है, तो कुकी सिर्फ़ होस्ट के लिए उपलब्ध हो जाती है.

    • expirationDate

      number optional

      यह कुकी के खत्म होने की तारीख है. इसे UNIX epoch के बाद से सेकंड की संख्या के तौर पर दिखाया जाता है. अगर इसे शामिल नहीं किया जाता है, तो कुकी, सेशन कुकी बन जाती है.

    • httpOnly

      boolean ज़रूरी नहीं है

      क्या कुकी को HttpOnly के तौर पर मार्क किया जाना चाहिए. डिफ़ॉल्ट रूप से, यह 'गलत' पर सेट होती है.

    • नाम

      string ज़रूरी नहीं है

      कुकी का नाम. अगर इसे शामिल नहीं किया जाता है, तो डिफ़ॉल्ट रूप से यह खाली होता है.

    • partitionKey

      CookiePartitionKey ज़रूरी नहीं है

      Chrome 119 या इसके बाद के वर्शन

      Partitioned एट्रिब्यूट वाली कुकी को पढ़ने या उनमें बदलाव करने के लिए, पार्टीशन की.

    • पाथ

      string ज़रूरी नहीं है

      कुकी का पाथ. डिफ़ॉल्ट रूप से, यह यूआरएल पैरामीटर के पाथ वाले हिस्से पर सेट होता है.

    • sameSite

      SameSiteStatus ज़रूरी नहीं है

      Chrome 51 या इसके बाद के वर्शन

      कुकी का सेम-साइट स्टेटस. डिफ़ॉल्ट रूप से इसकी वैल्यू "unspecified" होती है. इसका मतलब है कि अगर इसे शामिल नहीं किया जाता है, तो कुकी को SameSite एट्रिब्यूट के बिना सेट किया जाता है.

    • सुरक्षित

      boolean ज़रूरी नहीं है

      यह तय करता है कि कुकी को Secure के तौर पर मार्क किया जाना चाहिए या नहीं. डिफ़ॉल्ट रूप से, यह 'गलत' पर सेट होती है.

    • storeId

      string ज़रूरी नहीं है

      कुकी स्टोर का आईडी, जिसमें कुकी सेट करनी है. डिफ़ॉल्ट रूप से, कुकी को मौजूदा एक्ज़ीक्यूशन कॉन्टेक्स्ट के कुकी स्टोर में सेट किया जाता है.

    • url

      स्ट्रिंग

      कुकी की सेटिंग से जुड़ा अनुरोध-यूआरआई. इस वैल्यू से, बनाई गई कुकी के डिफ़ॉल्ट डोमेन और पाथ वैल्यू पर असर पड़ सकता है. अगर मेनिफ़ेस्ट फ़ाइल में इस यूआरएल के लिए होस्ट अनुमतियां नहीं दी गई हैं, तो एपीआई कॉल नहीं किया जा सकेगा.

    • मान

      string ज़रूरी नहीं है

      कुकी की वैल्यू. अगर इसे शामिल नहीं किया जाता है, तो डिफ़ॉल्ट रूप से यह खाली होता है.

  • कॉलबैक

    फ़ंक्शन ज़रूरी नहीं है

    callback पैरामीटर ऐसा दिखता है:

    (cookie?: Cookie) => void

    • कुकी ज़रूरी नहीं है

      इस कुकी में सेट की गई कुकी के बारे में जानकारी होती है. अगर किसी वजह से सेटिंग नहीं हो पाती है, तो प्रॉमिस को अस्वीकार कर दिया जाएगा.

रिटर्न

  • Promise<Cookie | undefined>

    Chrome 88 या इसके बाद का वर्शन

    प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.

इवेंट

onChanged

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

यह इवेंट तब ट्रिगर होता है, जब कोई कुकी सेट की जाती है या हटाई जाती है. खास मामले के तौर पर ध्यान दें कि कुकी की प्रॉपर्टी अपडेट करने की प्रोसेस दो चरणों में पूरी होती है: अपडेट की जाने वाली कुकी को पहले पूरी तरह से हटा दिया जाता है. इससे "overwrite" के "कारण" वाली सूचना जनरेट होती है. इसके बाद, अपडेट की गई वैल्यू के साथ एक नई कुकी लिखी जाती है. इससे, "वजह" "साफ़ तौर पर" के साथ दूसरी सूचना जनरेट होती है.

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

    callback पैरामीटर ऐसा दिखता है:

    (changeInfo: object) => void

    • changeInfo

      ऑब्जेक्ट

      • कारण

        कुकी में बदलाव होने की वजह.

      • सेट या हटाई गई कुकी के बारे में जानकारी.

      • निकाला गया

        बूलियन

        अगर कुकी हटा दी गई है, तो वैल्यू 'सही' के तौर पर सेट होगी.