chrome.cookies

ब्यौरा

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

अनुमतियां

cookies

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

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

विभाजन

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

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

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

उदाहरण

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

टाइप

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

प्रॉपर्टी

  • स्ट्रिंग

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

  • नंबर वैकल्पिक

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

  • बूलियन

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

  • बूलियन

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

  • स्ट्रिंग

    कुकी का नाम.

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

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

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

  • स्ट्रिंग

    कुकी का पाथ.

  • Chrome 51 और उसके बाद के वर्शन

    कुकी का एक ही साइट स्टेटस (यानी कुकी को दूसरी साइट से किए गए अनुरोधों के साथ भेजा गया है या नहीं).

  • बूलियन

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

  • बूलियन

    अगर कुकी, खत्म होने की तारीख वाली स्थायी कुकी के उलट है, तो यह एक सेशन कुकी है.

  • स्ट्रिंग

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

  • स्ट्रिंग

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

CookieDetails

Chrome 88 और उसके बाद के वर्शन

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

प्रॉपर्टी

  • नाम

    स्ट्रिंग

    उस कुकी का नाम जिसे ऐक्सेस करना है.

  • partitionKey

    CookiePartitionKey ज़रूरी नहीं

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

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

  • storeId

    स्ट्रिंग ज़रूरी नहीं

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

  • url

    स्ट्रिंग

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

CookiePartitionKey

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

यह कुकी के सेगमेंट को सेगमेंट में बांटने वाली कुंजी के बारे में बताती है.

प्रॉपर्टी

  • hasCrossSiteAncestor

    बूलियन ज़रूरी नहीं

    मंज़ूरी बाकी है

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

  • topLevelSite

    स्ट्रिंग ज़रूरी नहीं

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

CookieStore

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

प्रॉपर्टी

  • आईडी

    स्ट्रिंग

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

  • tabIds

    नंबर[]

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

OnChangedCause

Chrome 44 और उसके बाद वाले वर्शन के लिए

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

Enum

SameSiteStatus

Chrome 51 और उसके बाद वाले वर्शन के लिए

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

Enum

तरीके

get()

Promise
chrome.cookies.get(
  details: CookieDetails,
  callback?: function,
)

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

पैरामीटर

  • विवरण
  • कॉलबैक

    फ़ंक्शन वैकल्पिक

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

    (cookie?: Cookie) => void

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

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

रिटर्न

  • Promise<Cookie | तय नहीं है>

    Chrome 88 और उसके बाद के वर्शन

    मेनिफ़ेस्ट V3 और उसके बाद के वर्शन में प्रॉमिस काम करते हैं. हालांकि, कॉलबैक की सुविधा इन मामलों में दी जाती है पुराने सिस्टम के साथ काम करने की सुविधा. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. कॉन्टेंट बनाने प्रॉमिस उसी टाइप के साथ ठीक होता है जिसे कॉलबैक में पास किया जाता है.

getAll()

Promise
chrome.cookies.getAll(
  details: object,
  callback?: function,
)

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

पैरामीटर

  • विवरण

    ऑब्जेक्ट

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

    • डोमेन

      स्ट्रिंग ज़रूरी नहीं

      यह नीति, वापस लाई गई कुकी को उन लोगों तक सीमित करती है जिनके डोमेन इस डोमेन से मेल खाते हैं या इसके सबडोमेन हैं.

    • नाम

      स्ट्रिंग ज़रूरी नहीं

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

    • partitionKey

      CookiePartitionKey ज़रूरी नहीं

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

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

    • पाथ

      स्ट्रिंग ज़रूरी नहीं

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

    • सुरक्षित

      बूलियन ज़रूरी नहीं

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

    • सत्र

      बूलियन ज़रूरी नहीं

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

    • storeId

      स्ट्रिंग ज़रूरी नहीं

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

    • url

      स्ट्रिंग ज़रूरी नहीं

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

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

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

    (cookies: Cookie[]) => void

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

      कुकी की दी गई जानकारी से मेल खाने वाली सभी मौजूदा कुकी.

रिटर्न

  • Promise<Cookie[]>

    Chrome 88 और उसके बाद के वर्शन

    मेनिफ़ेस्ट V3 और उसके बाद के वर्शन में प्रॉमिस काम करते हैं. हालांकि, कॉलबैक की सुविधा इन मामलों में दी जाती है पुराने सिस्टम के साथ काम करने की सुविधा. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. कॉन्टेंट बनाने प्रॉमिस उसी टाइप के साथ ठीक होता है जिसे कॉलबैक में पास किया जाता है.

getAllCookieStores()

Promise
chrome.cookies.getAllCookieStores(
  callback?: function,
)

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

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

    (cookieStores: CookieStore[]) => void

    • cookieStores

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

रिटर्न

  • Promise<CookieStore[]>

    Chrome 88 और उसके बाद के वर्शन

    मेनिफ़ेस्ट V3 और उसके बाद के वर्शन में प्रॉमिस काम करते हैं. हालांकि, कॉलबैक की सुविधा इन मामलों में दी जाती है पुराने सिस्टम के साथ काम करने की सुविधा. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. कॉन्टेंट बनाने प्रॉमिस उसी टाइप के साथ ठीक होता है जिसे कॉलबैक में पास किया जाता है.

remove()

Promise
chrome.cookies.remove(
  details: CookieDetails,
  callback?: function,
)

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

पैरामीटर

  • विवरण
  • कॉलबैक

    फ़ंक्शन वैकल्पिक

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

    (details?: object) => void

    • विवरण

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

      इसमें, हटाई गई कुकी की जानकारी होती है. अगर किसी वजह से कॉन्टेंट नहीं हटाया जा सका, तो यह "शून्य" हो जाएगा और runtime.lastError को सेट कर दिया जाएगा.

      • नाम

        स्ट्रिंग

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

      • partitionKey

        CookiePartitionKey ज़रूरी नहीं

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

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

      • storeId

        स्ट्रिंग

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

      • url

        स्ट्रिंग

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

रिटर्न

  • Promise<object | तय नहीं है>

    Chrome 88 और उसके बाद के वर्शन

    मेनिफ़ेस्ट V3 और उसके बाद के वर्शन में प्रॉमिस काम करते हैं. हालांकि, कॉलबैक की सुविधा इन मामलों में दी जाती है पुराने सिस्टम के साथ काम करने की सुविधा. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. कॉन्टेंट बनाने प्रॉमिस उसी टाइप के साथ ठीक होता है जिसे कॉलबैक में पास किया जाता है.

set()

Promise
chrome.cookies.set(
  details: object,
  callback?: function,
)

दिए गए कुकी डेटा के साथ कुकी सेट करता है; मिलती-जुलती कुकी मौजूद होने पर, उन्हें ओवरराइट किया जा सकता है.

पैरामीटर

  • विवरण

    ऑब्जेक्ट

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

    • डोमेन

      स्ट्रिंग ज़रूरी नहीं

      कुकी का डोमेन. अगर इसे छोड़ा जाता है, तो यह कुकी, सिर्फ़ होस्ट वाली कुकी बन जाती है.

    • expirationDate

      नंबर वैकल्पिक

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

    • httpOnly

      बूलियन ज़रूरी नहीं

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

    • नाम

      स्ट्रिंग ज़रूरी नहीं

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

    • partitionKey

      CookiePartitionKey ज़रूरी नहीं

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

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

    • पाथ

      स्ट्रिंग ज़रूरी नहीं

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

    • sameSite

      SameSiteStatus ज़रूरी नहीं

      Chrome 51 और उसके बाद वाले वर्शन के लिए

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

    • सुरक्षित

      बूलियन ज़रूरी नहीं

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

    • storeId

      स्ट्रिंग ज़रूरी नहीं

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

    • url

      स्ट्रिंग

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

    • value

      स्ट्रिंग ज़रूरी नहीं

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

  • कॉलबैक

    फ़ंक्शन वैकल्पिक

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

    (cookie?: Cookie) => void

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

      इसमें सेट की गई कुकी की जानकारी होती है. अगर किसी वजह से सेटिंग फ़ेल हो जाती है, तो यह "शून्य" हो जाएगा और runtime.lastError को सेट कर दिया जाएगा.

रिटर्न

  • Promise<Cookie | तय नहीं है>

    Chrome 88 और उसके बाद के वर्शन

    मेनिफ़ेस्ट V3 और उसके बाद के वर्शन में प्रॉमिस काम करते हैं. हालांकि, कॉलबैक की सुविधा इन मामलों में दी जाती है पुराने सिस्टम के साथ काम करने की सुविधा. एक ही फ़ंक्शन कॉल में दोनों का इस्तेमाल नहीं किया जा सकता. कॉन्टेंट बनाने प्रॉमिस उसी टाइप के साथ ठीक होता है जिसे कॉलबैक में पास किया जाता है.

इवेंट

onChanged

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

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

पैरामीटर

  • कॉलबैक

    फ़ंक्शन

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

    (changeInfo: object) => void

    • changeInfo

      ऑब्जेक्ट

      • कारण

        कुकी के बदलने की वजह.

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

      • निकाला गया

        बूलियन

        कुकी को हटा दिए जाने पर वैल्यू 'सही' होती है.