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 के इस्तेमाल का एक आसान उदाहरण देखा जा सकता है. अन्य उदाहरणों और सोर्स कोड देखने में मदद पाने के लिए, सैंपल देखें.
टाइप
Cookie
यह एचटीटीपी कुकी के बारे में जानकारी दिखाता है.
प्रॉपर्टी
-
डोमेन
स्ट्रिंग
कुकी का डोमेन (जैसे, "www.google.com", "example.com").
-
expirationDate
number optional
यह कुकी के खत्म होने की तारीख है. इसे UNIX epoch के बाद से सेकंड की संख्या के तौर पर दिखाया जाता है. यह सेशन कुकी के लिए उपलब्ध नहीं है.
-
hostOnly
बूलियन
अगर कुकी सिर्फ़ होस्ट के लिए है, तो इस फ़ील्ड की वैल्यू 'सही है' होती है. इसका मतलब है कि अनुरोध करने वाले होस्ट का डोमेन, कुकी के डोमेन से पूरी तरह मेल खाना चाहिए.
-
httpOnly
बूलियन
अगर कुकी को HttpOnly के तौर पर मार्क किया गया है, तो यह वैल्यू True होती है. इसका मतलब है कि कुकी को क्लाइंट-साइड स्क्रिप्ट ऐक्सेस नहीं कर सकती हैं.
-
नाम
स्ट्रिंग
कुकी का नाम.
-
partitionKey
CookiePartitionKey ज़रूरी नहीं है
Chrome 119 या इसके बाद के वर्शनPartitioned एट्रिब्यूट वाली कुकी को पढ़ने या उनमें बदलाव करने के लिए, पार्टीशन की.
-
पाथ
स्ट्रिंग
कुकी का पाथ.
-
sameSiteChrome 51 या इसके बाद के वर्शन
कुकी का SameSite स्टेटस. इसका मतलब है कि कुकी को किसी दूसरी साइट से किए गए अनुरोधों के साथ भेजा जाता है या नहीं.
-
सुरक्षित
बूलियन
अगर कुकी को Secure के तौर पर मार्क किया गया है, तो यह वैल्यू True होती है. इसका मतलब है कि इसका दायरा सुरक्षित चैनलों (आम तौर पर, एचटीटीपीएस) तक सीमित है.
-
सेशन
बूलियन
अगर कुकी, सेशन कुकी है, तो यह वैल्यू 'सही है' पर सेट होती है. सेशन कुकी, खत्म होने की तारीख वाली परसिस्टेंट कुकी से अलग होती है.
-
storeId
स्ट्रिंग
इस कुकी को सेव करने वाले कुकी स्टोर का आईडी. यह आईडी, getAllCookieStores() में दिया गया है.
-
मान
स्ट्रिंग
कुकी की वैल्यू.
CookieDetails
कुकी की पहचान करने के लिए जानकारी.
प्रॉपर्टी
-
नाम
स्ट्रिंग
ऐक्सेस की जाने वाली कुकी का नाम.
-
partitionKey
CookiePartitionKey ज़रूरी नहीं है
Chrome 119 या इसके बाद के वर्शनPartitioned एट्रिब्यूट वाली कुकी को पढ़ने या उनमें बदलाव करने के लिए, पार्टीशन की.
-
storeId
string ज़रूरी नहीं है
उस कुकी स्टोर का आईडी जिसमें कुकी को ढूंढना है. डिफ़ॉल्ट रूप से, मौजूदा एक्ज़ीक्यूशन कॉन्टेक्स्ट के कुकी स्टोर का इस्तेमाल किया जाएगा.
-
url
स्ट्रिंग
वह यूआरएल जिससे कुकी को ऐक्सेस करना है. यह आर्ग्युमेंट पूरा यूआरएल हो सकता है. ऐसे में, यूआरएल पाथ के बाद आने वाले किसी भी डेटा (जैसे, क्वेरी स्ट्रिंग) को अनदेखा कर दिया जाता है. अगर मेनिफ़ेस्ट फ़ाइल में इस यूआरएल के लिए होस्ट अनुमतियां नहीं दी गई हैं, तो एपीआई कॉल नहीं किया जा सकेगा.
CookiePartitionKey
यह किसी पार्टिशन्ड कुकी की पार्टिशन की कुंजी को दिखाता है.
प्रॉपर्टी
-
hasCrossSiteAncestor
boolean ज़रूरी नहीं है
Chrome 130 और इसके बाद के वर्शनइससे पता चलता है कि कुकी को एक से ज़्यादा साइट के कॉन्टेक्स्ट में सेट किया गया था या नहीं. इससे, किसी दूसरी साइट के कॉन्टेक्स्ट में एम्बेड की गई टॉप-लेवल साइट को, एक ही साइट के कॉन्टेक्स्ट में टॉप-लेवल साइट की सेट की गई कुकी को ऐक्सेस करने से रोका जाता है.
-
topLevelSite
string ज़रूरी नहीं है
वह टॉप-लेवल साइट जिस पर पार्टिशन्ड कुकी उपलब्ध है.
CookieStore
यह ब्राउज़र में कुकी स्टोर करने की जानकारी देता है. उदाहरण के लिए, गुप्त मोड वाली विंडो, गुप्त मोड के बिना वाली विंडो से अलग कुकी स्टोर का इस्तेमाल करती है.
प्रॉपर्टी
-
id
स्ट्रिंग
कुकी स्टोर के लिए यूनीक आइडेंटिफ़ायर.
-
tabIds
number[]
इस कुकी स्टोर को शेयर करने वाले सभी ब्राउज़र टैब के आइडेंटिफ़ायर.
FrameDetails
फ़्रेम की पहचान करने के लिए जानकारी.
प्रॉपर्टी
-
documentId
string ज़रूरी नहीं है
दस्तावेज़ के लिए यूनीक आइडेंटिफ़ायर. अगर frameId और/या tabId दिए जाते हैं, तो उनकी पुष्टि की जाएगी. इससे यह पता चलेगा कि वे दिए गए दस्तावेज़ आईडी से मिले दस्तावेज़ से मेल खाते हैं या नहीं.
-
frameId
number optional
टैब में मौजूद फ़्रेम के लिए यूनीक आइडेंटिफ़ायर.
-
tabId
number optional
फ़्रेम को शामिल करने वाले टैब के लिए यूनीक आइडेंटिफ़ायर.
OnChangedCause
कुकी में हुए बदलाव की वजह. अगर कुकी को "chrome.cookies.remove" को साफ़ तौर पर कॉल करके डाला या हटाया गया था, तो "cause" "explicit" होगा. अगर कुकी की समयसीमा खत्म होने की वजह से उसे अपने-आप हटा दिया गया था, तो "वजह" के तौर पर "समयसीमा खत्म हो गई" दिखेगा. अगर किसी कुकी को इसलिए हटाया गया है, क्योंकि उसे पहले से खत्म हो चुकी समयसीमा वाली कुकी से बदल दिया गया था, तो "वजह" को "expired_overwrite" पर सेट किया जाएगा. अगर किसी कुकी को गार्बेज कलेक्शन की वजह से अपने-आप हटा दिया गया था, तो "वजह" के तौर पर "evicted" दिखेगा. अगर किसी कुकी को "सेट" कॉल की वजह से अपने-आप हटा दिया गया था, तो "cause" की वैल्यू "overwrite" होगी. इसके हिसाब से जवाब देने की योजना बनाएं.
Enum
"evicted"
"expired"
"explicit"
"expired_overwrite"
"overwrite"
SameSiteStatus
कुकी की '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()
chrome.cookies.get(
details: CookieDetails,
callback?: function,
): Promise<Cookie | undefined>
यह कुकी, किसी एक कुकी के बारे में जानकारी इकट्ठा करती है. अगर दिए गए यूआरएल के लिए, एक ही नाम की एक से ज़्यादा कुकी मौजूद हैं, तो सबसे लंबे पाथ वाली कुकी को दिखाया जाएगा. अगर एक ही पाथ लेंथ वाली कुकी मौजूद हैं, तो सबसे पहले बनाई गई कुकी को दिखाया जाएगा.
पैरामीटर
रिटर्न
-
Promise<Cookie | undefined>
Chrome 88 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.
getAll()
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
-
कुकी का इस्तेमाल करता है
Cookie[]
मौजूदा समय में मौजूद ऐसी सभी कुकी जो खत्म नहीं हुई हैं और दी गई कुकी की जानकारी से मेल खाती हैं.
-
रिटर्न
-
Promise<Cookie[]>
Chrome 88 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.
getAllCookieStores()
chrome.cookies.getAllCookieStores(
callback?: function,
): Promise<CookieStore[]>
यह कुकी, सभी मौजूदा कुकी स्टोर की सूची बनाती है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं है
callbackपैरामीटर ऐसा दिखता है:(cookieStores: CookieStore[]) => void
-
cookieStores
सभी मौजूदा कुकी स्टोर.
-
रिटर्न
-
Promise<CookieStore[]>
Chrome 88 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.
getPartitionKey()
chrome.cookies.getPartitionKey(
details: FrameDetails,
callback?: function,
): Promise<object>
दिखाए गए फ़्रेम के लिए पार्टिशन की.
पैरामीटर
-
ब्यौरा
-
कॉलबैक
फ़ंक्शन ज़रूरी नहीं है
callbackपैरामीटर ऐसा दिखता है:(details: object) => void
-
ब्यौरा
ऑब्जेक्ट
इस कुकी में, वापस पाई गई पार्टीशन कुंजी के बारे में जानकारी होती है.
-
partitionKey
Partitioned एट्रिब्यूट वाली कुकी को पढ़ने या उनमें बदलाव करने के लिए, पार्टीशन की.
-
-
रिटर्न
-
Promise<object>
प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म को कॉलबैक का इस्तेमाल करना होगा.
remove()
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()
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
ऑब्जेक्ट
-
कारण
कुकी में बदलाव होने की वजह.
-
कुकी
सेट या हटाई गई कुकी के बारे में जानकारी.
-
निकाला गया
बूलियन
अगर कुकी हटा दी गई है, तो वैल्यू 'सही' के तौर पर सेट होगी.
-
-