refresh date: 2026-09-25 robots: noindex
ब्यौरा
कुकी के बारे में क्वेरी करने और उनमें बदलाव करने के लिए, chrome.cookies API का इस्तेमाल करें. साथ ही, कुकी में बदलाव होने पर सूचना पाने के लिए भी इसका इस्तेमाल करें.
अनुमतियां
cookiesमेनिफ़ेस्ट
कुकी एपीआई का इस्तेमाल करने के लिए, आपको अपने मेनिफ़ेस्ट में "कुकी" की अनुमति का एलान करना होगा. साथ ही, आपको उन सभी होस्ट के लिए होस्ट की अनुमतियां देनी होंगी जिनकी कुकी को ऐक्सेस करना है. उदाहरण के लिए:
{
"name": "My extension",
...
"host_permissions": [
"*://*.google.com/"
],
"permissions": [
"cookies"
],
...
}
पार्टिशन करना
पार्टिशन्ड कुकी की मदद से, कोई साइट यह मार्क कर सकती है कि कुछ कुकी को टॉप लेवल फ़्रेम के ऑरिजिन के हिसाब से कीड किया जाना चाहिए. इसका मतलब है कि अगर साइट A को साइट B और साइट C में iframe का इस्तेमाल करके एम्बेड किया गया है, तो पार्टिशन्ड कुकी की वैल्यू हर साइट में अलग-अलग हो सकती है.
chrome.cookies में पार्टिशनिंग की सुविधा काम नहीं करती. इसका मतलब है कि सभी तरीके, सभी पार्टिशन से कुकी को पढ़ते और लिखते हैं. cookies.set() तरीका, कुकी को डिफ़ॉल्ट पार्टिशन में सेव करता है.
एक्सटेंशन के लिए, पार्टिशनिंग के सामान्य असर के बारे में जानने के लिए, स्टोरेज और कुकी देखें.
उदाहरण
कुकी एपीआई का इस्तेमाल करने का एक आसान उदाहरण, examples/api/cookies डायरेक्ट्री में देखा जा सकता है. अन्य उदाहरणों और सोर्स कोड को देखने में मदद पाने के लिए, सैंपल देखें.
टाइप
Cookie
एचटीटीपी कुकी के बारे में जानकारी दिखाता है.
प्रॉपर्टी
-
डोमेन
स्ट्रिंग
कुकी का डोमेन (उदाहरण के लिए, "www.google.com", "example.com").
-
expirationDate
number ज़रूरी नहीं
कुकी की समयसीमा खत्म होने की तारीख, UNIX epoch के बाद से सेकंड की संख्या के तौर पर. सेशन कुकी के लिए उपलब्ध नहीं है.
-
hostOnly
बूलियन
अगर कुकी सिर्फ़ होस्ट कुकी है, तो True (यानी कि अनुरोध का होस्ट, कुकी के डोमेन से पूरी तरह मेल खाना चाहिए).
-
httpOnly
बूलियन
अगर कुकी को HttpOnly के तौर पर मार्क किया गया है, तो True (यानी कि कुकी को क्लाइंट-साइड स्क्रिप्ट से ऐक्सेस नहीं किया जा सकता).
-
नाम
स्ट्रिंग
कुकी का नाम.
-
partitionKey
CookiePartitionKey ज़रूरी नहीं है
Chrome 119+पार्टिशन्ड एट्रिब्यूट वाली कुकी को पढ़ने या उनमें बदलाव करने के लिए, पार्टिशन कुंजी.
-
पाथ
स्ट्रिंग
कुकी का पाथ.
-
sameSiteChrome 51+
कुकी का सेम-साइट स्टेटस (यानी कि क्या कुकी को किसी दूसरी साइट से किए गए अनुरोधों के साथ भेजा जाता है).
-
सुरक्षित
बूलियन
अगर कुकी को 'सुरक्षित' के तौर पर मार्क किया गया है, तो True (यानी कि इसका दायरा सुरक्षित चैनलों तक सीमित है, आम तौर पर एचटीटीपीएस).
-
सेशन
बूलियन
अगर कुकी, सेशन कुकी है, तो 'सही है' पर सेट करें. यह परसिस्टेंट कुकी से अलग होती है, क्योंकि इसकी समयसीमा खत्म होने की तारीख होती है.
-
storeId
स्ट्रिंग
इस कुकी को सेव करने वाले कुकी स्टोर का आईडी, जैसा कि getAllCookieStores() में दिया गया है.
-
मान
स्ट्रिंग
कुकी की वैल्यू.
CookieDetails
कुकी की पहचान करने के लिए जानकारी.
प्रॉपर्टी
-
नाम
स्ट्रिंग
ऐक्सेस की जाने वाली कुकी का नाम.
-
partitionKey
CookiePartitionKey ज़रूरी नहीं है
Chrome 119+पार्टिशन्ड एट्रिब्यूट वाली कुकी को पढ़ने या उनमें बदलाव करने के लिए, पार्टिशन कुंजी.
-
storeId
string ज़रूरी नहीं
कुकी स्टोर का आईडी, जिसमें कुकी को खोजना है. डिफ़ॉल्ट रूप से, मौजूदा एक्ज़ीक्यूशन कॉन्टेक्स्ट के कुकी स्टोर का इस्तेमाल किया जाएगा.
-
url
स्ट्रिंग
वह यूआरएल जिससे ऐक्सेस की जाने वाली कुकी जुड़ी है. यह आर्ग्युमेंट पूरा यूआरएल हो सकता है.ऐसे में, यूआरएल पाथ के बाद मौजूद किसी भी डेटा को अनदेखा कर दिया जाता है. जैसे, क्वेरी स्ट्रिंग. अगर मेनिफ़ेस्ट फ़ाइल में इस यूआरएल के लिए होस्ट की अनुमतियां नहीं दी गई हैं, तो एपीआई कॉल नहीं किया जा सकेगा.
CookiePartitionKey
यह पार्टिशन्ड कुकी के पार्टिशन की कुंजी को दिखाता है.
प्रॉपर्टी
-
hasCrossSiteAncestor
बूलियन ज़रूरी नहीं
Chrome 130 या इसके बाद के वर्शनइससे पता चलता है कि कुकी को क्रॉस-साइट कॉन्टेक्स्ट में सेट किया गया था या नहीं. इससे, क्रॉस-साइट कॉन्टेक्स्ट में एम्बेड की गई टॉप-लेवल साइट को, सेम-साइट कॉन्टेक्स्ट में टॉप-लेवल साइट की सेट की गई कुकी ऐक्सेस करने से रोका जाता है.
-
topLevelSite
string ज़रूरी नहीं
वह टॉप-लेवल साइट जिसमें पार्टिशन्ड कुकी उपलब्ध है.
CookieStore
यह ब्राउज़र में कुकी स्टोर को दिखाता है. उदाहरण के लिए, गुप्त मोड वाली विंडो, सामान्य विंडो से अलग कुकी स्टोर का इस्तेमाल करती है.
प्रॉपर्टी
-
आईडी
स्ट्रिंग
कुकी स्टोर के लिए यूनीक आइडेंटिफ़ायर.
-
tabIds
number[]
इस कुकी स्टोर को शेयर करने वाले सभी ब्राउज़र टैब के आइडेंटिफ़ायर.
FrameDetails
फ़्रेम की पहचान करने के लिए जानकारी.
प्रॉपर्टी
-
documentId
string ज़रूरी नहीं
दस्तावेज़ के लिए यूनीक आइडेंटिफ़ायर. अगर frameId और/या tabId दिए गए हैं, तो उनकी पुष्टि की जाएगी. इससे यह पक्का किया जाएगा कि वे दिए गए दस्तावेज़ आईडी से मिले दस्तावेज़ से मैच करते हों.
-
frameId
number ज़रूरी नहीं
टैब में मौजूद फ़्रेम के लिए यूनीक आइडेंटिफ़ायर.
-
tabId
number ज़रूरी नहीं
फ़्रेम वाले टैब के लिए यूनीक आइडेंटिफ़ायर.
OnChangedCause
कुकी में हुए बदलाव की मुख्य वजह. अगर "chrome.cookies.remove" को साफ़ तौर पर कॉल करके कुकी डाली गई या हटाई गई, तो "वजह" "साफ़ तौर पर" होगी. अगर समयसीमा खत्म होने की वजह से कुकी अपने-आप हट गई है, तो "वजह" के तौर पर "समयसीमा खत्म हो गई" दिखेगा. अगर किसी कुकी को पहले से ही खत्म हो चुकी तारीख के साथ ओवरराइट करने की वजह से हटाया गया है, तो "cause" को "expired_overwrite" पर सेट किया जाएगा. अगर गार्बेज कलेक्शन की वजह से कुकी अपने-आप हट गई है, तो "cause" की वैल्यू "evicted" होगी. अगर किसी कुकी को ओवरराइट करने वाले "सेट" कॉल की वजह से, उसे अपने-आप हटा दिया गया था, तो "वजह" के तौर पर "ओवरराइट" दिखेगा. इसके हिसाब से जवाब देने की योजना बनाएं.
Enum
"evicted"
"समयसीमा खत्म हो गई है"
"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+पार्टिशन्ड एट्रिब्यूट वाली कुकी को पढ़ने या उनमें बदलाव करने के लिए, पार्टिशन कुंजी.
-
पाथ
string ज़रूरी नहीं
यह नीति, वापस लाई गई कुकी को उन कुकी तक सीमित करती है जिनका पाथ इस स्ट्रिंग से पूरी तरह मैच करता है.
-
सुरक्षित
बूलियन ज़रूरी नहीं
कुकी को उनकी सुरक्षित प्रॉपर्टी के हिसाब से फ़िल्टर करता है.
-
सेशन
बूलियन ज़रूरी नहीं
सेशन कुकी और परसिस्टेंट कुकी को फ़िल्टर करता है.
-
storeId
string ज़रूरी नहीं
कुकी स्टोर, जिससे कुकी वापस पाई जा सकती हैं. अगर इसे शामिल नहीं किया जाता है, तो मौजूदा एक्ज़ीक्यूशन कॉन्टेक्स्ट के कुकी स्टोर का इस्तेमाल किया जाएगा.
-
url
string ज़रूरी नहीं
यह उन कुकी को सीमित करता है जो दिए गए यूआरएल से मैच करती हैं.
-
-
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:(cookies: Cookie[]) => void
-
कुकी का इस्तेमाल करता है
कुकी[]
दी गई कुकी की जानकारी से मैच होने वाली सभी मौजूदा कुकी, जिनकी समयसीमा खत्म नहीं हुई है.
-
रिटर्न
-
Promise<Cookie[]>
Chrome 88 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
getAllCookieStores()
chrome.cookies.getAllCookieStores(
callback?: function,
): Promise<CookieStore[]>
सभी मौजूदा कुकी स्टोर की सूची दिखाता है.
पैरामीटर
-
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:(cookieStores: CookieStore[]) => void
-
cookieStores
सभी मौजूदा कुकी स्टोर.
-
रिटर्न
-
Promise<CookieStore[]>
Chrome 88 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
getPartitionKey()
chrome.cookies.getPartitionKey(
details: FrameDetails,
callback?: function,
): Promise<object>
बताए गए फ़्रेम के लिए, पार्टिशन की कुंजी.
पैरामीटर
-
विवरण
-
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:(details: object) => void
-
विवरण
ऑब्जेक्ट
इसमें, वापस पाई गई पार्टिशन कुंजी के बारे में जानकारी होती है.
-
partitionKey
पार्टिशन्ड एट्रिब्यूट वाली कुकी को पढ़ने या उनमें बदलाव करने के लिए, पार्टिशन कुंजी.
-
-
रिटर्न
-
Promise<object>
प्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
remove()
chrome.cookies.remove(
details: CookieDetails,
callback?: function,
): Promise<object | undefined>
यह अनुमति मिलने पर, किसी कुकी को उसके नाम से मिटाया जा सकता है.
पैरामीटर
-
विवरण
-
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:(details?: object) => void
-
विवरण
object ज़रूरी नहीं
इसमें हटाई गई कुकी के बारे में जानकारी होती है. अगर किसी वजह से कॉन्टेंट नहीं हटाया जा सका, तो प्रॉमिस को अस्वीकार कर दिया जाएगा.
-
नाम
स्ट्रिंग
हटाई गई कुकी का नाम.
-
partitionKey
CookiePartitionKey ज़रूरी नहीं है
Chrome 119+पार्टिशन्ड एट्रिब्यूट वाली कुकी को पढ़ने या उनमें बदलाव करने के लिए, पार्टिशन कुंजी.
-
storeId
स्ट्रिंग
उस कुकी स्टोर का आईडी जिससे कुकी हटाई गई.
-
url
स्ट्रिंग
हटाई गई कुकी से जुड़ा यूआरएल.
-
-
रिटर्न
-
Promise<object | undefined>
Chrome 88 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
set()
chrome.cookies.set(
details: object,
callback?: function,
): Promise<Cookie | undefined>
यह अनुमति मिलने पर, दिए गए कुकी डेटा के साथ किसी कुकी को सेट किया जा सकता है. अगर पहले से कोई कुकी मौजूद है, तो उसे ओवरराइट किया जा सकता है.
पैरामीटर
-
विवरण
ऑब्जेक्ट
सेट की जा रही कुकी के बारे में जानकारी.
-
डोमेन
string ज़रूरी नहीं
कुकी का डोमेन. अगर इसे शामिल नहीं किया जाता है, तो कुकी सिर्फ़ होस्ट कुकी बन जाती है.
-
expirationDate
number ज़रूरी नहीं
कुकी की समयसीमा खत्म होने की तारीख, UNIX epoch के बाद से सेकंड की संख्या के तौर पर. अगर इसे शामिल नहीं किया जाता है, तो कुकी एक सेशन कुकी बन जाती है.
-
httpOnly
बूलियन ज़रूरी नहीं
कुकी को HttpOnly के तौर पर मार्क किया जाना चाहिए या नहीं. डिफ़ॉल्ट तौर पर, यह 'गलत' पर सेट होती है.
-
नाम
string ज़रूरी नहीं
कुकी का नाम. अगर इसे शामिल नहीं किया जाता है, तो यह डिफ़ॉल्ट रूप से खाली रहता है.
-
partitionKey
CookiePartitionKey ज़रूरी नहीं है
Chrome 119+पार्टिशन्ड एट्रिब्यूट वाली कुकी को पढ़ने या उनमें बदलाव करने के लिए, पार्टिशन कुंजी.
-
पाथ
string ज़रूरी नहीं
कुकी का पाथ. यह डिफ़ॉल्ट रूप से, यूआरएल पैरामीटर के पाथ वाले हिस्से पर सेट होता है.
-
sameSite
SameSiteStatus ज़रूरी नहीं
Chrome 51+कुकी का सेम-साइट स्टेटस. यह डिफ़ॉल्ट रूप से "unspecified" पर सेट होता है. इसका मतलब है कि अगर इसे शामिल नहीं किया जाता है, तो कुकी को SameSite एट्रिब्यूट की वैल्यू बताए बिना सेट किया जाता है.
-
सुरक्षित
बूलियन ज़रूरी नहीं
कुकी को सुरक्षित के तौर पर मार्क किया जाना चाहिए या नहीं. डिफ़ॉल्ट तौर पर, यह 'गलत' पर सेट होती है.
-
storeId
string ज़रूरी नहीं
कुकी स्टोर का आईडी, जिसमें कुकी सेट करनी है. डिफ़ॉल्ट रूप से, कुकी को मौजूदा एक्ज़ीक्यूशन कॉन्टेक्स्ट के कुकी स्टोर में सेट किया जाता है.
-
url
स्ट्रिंग
कुकी की सेटिंग से जोड़ने के लिए अनुरोध-यूआरआई. इस वैल्यू से, बनाई गई कुकी के डिफ़ॉल्ट डोमेन और पाथ की वैल्यू पर असर पड़ सकता है. अगर मेनिफ़ेस्ट फ़ाइल में इस यूआरएल के लिए होस्ट की अनुमतियां नहीं दी गई हैं, तो एपीआई कॉल नहीं किया जा सकेगा.
-
मान
string ज़रूरी नहीं
कुकी की वैल्यू. अगर इसे शामिल नहीं किया जाता है, तो यह डिफ़ॉल्ट रूप से खाली रहता है.
-
-
कॉलबैक
function ज़रूरी नहीं
callbackपैरामीटर कुछ ऐसा दिखता है:(cookie?: Cookie) => void
-
कुकी
कुकी ज़रूरी नहीं है
इसमें सेट की गई कुकी के बारे में जानकारी होती है. अगर किसी वजह से सेटिंग नहीं हो पाती है, तो प्रॉमिस को अस्वीकार कर दिया जाएगा.
-
रिटर्न
-
Promise<Cookie | undefined>
Chrome 88 या इसके बाद का वर्शनप्रॉमिस सिर्फ़ Manifest V3 और इसके बाद के वर्शन के लिए काम करते हैं. अन्य प्लैटफ़ॉर्म के लिए, कॉलबैक का इस्तेमाल करना ज़रूरी है.
इवेंट
onChanged
chrome.cookies.onChanged.addListener(
callback: function,
)
यह इवेंट तब ट्रिगर होता है, जब कोई कुकी सेट की जाती है या हटाई जाती है. खास तौर पर, ध्यान दें कि कुकी की प्रॉपर्टी को अपडेट करने की प्रोसेस दो चरणों में पूरी होती है: अपडेट की जाने वाली कुकी को पहले पूरी तरह से हटा दिया जाता है. इससे "cause" के तौर पर "overwrite" वाली सूचना जनरेट होती है. इसके बाद, अपडेट की गई वैल्यू के साथ एक नई कुकी बनाई जाती है. इससे "cause" "explicit" के साथ दूसरी सूचना जनरेट होती है.
पैरामीटर
-
कॉलबैक
फ़ंक्शन
callbackपैरामीटर कुछ ऐसा दिखता है:(changeInfo: object) => void
-
changeInfo
ऑब्जेक्ट
-
कारण
कुकी में हुए बदलाव की मुख्य वजह.
-
कुकी
सेट या हटाई गई कुकी के बारे में जानकारी.
-
निकाला गया
बूलियन
अगर कोई कुकी हटाई गई है, तो वैल्यू 'सही' के तौर पर सेट होगी.
-
-