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