chrome.types

refresh date: 2026-09-25 robots: noindex

ब्यौरा

chrome.types एपीआई में, Chrome के लिए टाइप डिक्लेरेशन शामिल हैं.

Chrome सेटिंग

ChromeSetting प्रोटोटाइप, Chrome ब्राउज़र की सेटिंग के लिए फ़ंक्शन (get(), set(), और clear()) का एक सामान्य सेट उपलब्ध कराता है. साथ ही, इवेंट पब्लिशर (onChange) भी उपलब्ध कराता है. प्रॉक्सी सेटिंग के उदाहरणों से पता चलता है कि इन फ़ंक्शन का इस्तेमाल कैसे किया जाना चाहिए.

दायरा और लाइफ़ साइकल

Chrome, ब्राउज़र सेटिंग के तीन अलग-अलग स्कोप के बीच अंतर करता है:

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

प्राथमिकता

Chrome, अलग-अलग लेयर पर सेटिंग मैनेज करता है. यहां दी गई सूची में उन लेयर के बारे में बताया गया है जो लागू होने वाली सेटिंग पर असर डाल सकती हैं. इन्हें प्राथमिकता के बढ़ते क्रम में दिखाया गया है.

  1. ऑपरेटिंग सिस्टम से मिलने वाली सिस्टम सेटिंग
  2. कमांड-लाइन पैरामीटर
  3. एक्सटेंशन से मिलने वाली सेटिंग
  4. नीतियां

जैसा कि सूची से पता चलता है, नीतियां आपके एक्सटेंशन में किए गए किसी भी बदलाव को बदल सकती हैं. get() फ़ंक्शन का इस्तेमाल करके, यह पता लगाया जा सकता है कि आपका एक्सटेंशन कोई सेटिंग उपलब्ध करा सकता है या नहीं. इसके अलावा, यह भी पता लगाया जा सकता है कि यह सेटिंग बदली जाएगी या नहीं.

जैसा कि ऊपर बताया गया है, Chrome में सामान्य विंडो और गुप्त विंडो के लिए अलग-अलग सेटिंग इस्तेमाल की जा सकती हैं. नीचे दिए गए उदाहरण में, इस व्यवहार के बारे में बताया गया है. मान लें कि कोई भी नीति, सेटिंग को ओवरराइड नहीं करती है. साथ ही, कोई एक्सटेंशन सामान्य विंडो (R) और गुप्त विंडो (I) के लिए सेटिंग सेट कर सकता है.

  • अगर सिर्फ़ (R) सेट है, तो ये सेटिंग सामान्य और गुप्त विंडो, दोनों के लिए लागू होती हैं.
  • अगर सिर्फ़ (I) को सेट किया गया है, तो ये सेटिंग सिर्फ़ गुप्त विंडो के लिए लागू होंगी. सामान्य विंडो, निचली लेयर (कमांड-लाइन के विकल्प और सिस्टम सेटिंग) से तय की गई सेटिंग का इस्तेमाल करती हैं.
  • अगर (R) और (I), दोनों को सेट किया जाता है, तो सामान्य और गुप्त विंडो के लिए, उनसे जुड़ी सेटिंग का इस्तेमाल किया जाता है.

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

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

टाइप

ChromeSetting

एक ऐसा इंटरफ़ेस जो Chrome ब्राउज़र की सेटिंग को ऐक्सेस करने की अनुमति देता है. उदाहरण के लिए, accessibilityFeatures देखें.

प्रॉपर्टी

  • onChange

    Event<functionvoidvoid>

    सेटिंग में बदलाव होने के बाद ट्रिगर होता है.

    onChange.addListener फ़ंक्शन इस तरह दिखता है:

    (callback: function) => {...}

    • कॉलबैक

      फ़ंक्शन

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

      (details: object) => void

      • विवरण

        ऑब्जेक्ट

        • incognitoSpecific

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

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

        • levelOfControl

          सेटिंग के कंट्रोल का लेवल.

        • मान

          T

          बदलाव के बाद सेटिंग की वैल्यू.

  • मिटाएं

    void

    वादा

    सेटिंग को हटाता है और किसी भी डिफ़ॉल्ट वैल्यू को वापस लाता है.

    clear फ़ंक्शन इस तरह दिखता है:

    (details: object, callback?: function) => {...}

    • विवरण

      ऑब्जेक्ट

      कौनसी सेटिंग मिटानी है.

      • दायरा

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

        सेटिंग को कहां से मिटाना है (डिफ़ॉल्ट: सामान्य).

    • कॉलबैक

      function ज़रूरी नहीं

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

      () => void

    • returns

      वादा<शून्य>

      Chrome 96+

      डेटा मिटाने की प्रोसेस पूरी होने पर कॉल किया जाता है.

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

  • सदस्यता लें

    void

    वादा

    किसी सेटिंग की वैल्यू फ़ेच करता है.

    get फ़ंक्शन इस तरह दिखता है:

    (details: object, callback?: function) => {...}

    • विवरण

      ऑब्जेक्ट

      किस सेटिंग को ध्यान में रखना है.

      • गुप्त मोड

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

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

    • कॉलबैक

      function ज़रूरी नहीं

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

      (details: object) => void

      • विवरण

        ऑब्जेक्ट

        फ़िलहाल लागू वैल्यू की जानकारी.

        • incognitoSpecific

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

          क्या लागू होने वाली वैल्यू, गुप्त मोड वाले सेशन के लिए खास है. यह प्रॉपर्टी सिर्फ़ तब मौजूद होगी, जब get() के details पैरामीटर में incognito प्रॉपर्टी की वैल्यू 'सही है' पर सेट हो.

        • levelOfControl

          सेटिंग के कंट्रोल का लेवल.

        • मान

          T

          सेटिंग की वैल्यू.

    • returns

      Promise<object>

      Chrome 96+

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

  • सेट करो

    void

    वादा

    किसी सेटिंग की वैल्यू सेट करता है.

    set फ़ंक्शन इस तरह दिखता है:

    (details: object, callback?: function) => {...}

    • विवरण

      ऑब्जेक्ट

      कौनसी सेटिंग बदलनी है.

      • दायरा

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

        सेटिंग कहां सेट करनी है (डिफ़ॉल्ट: सामान्य).

      • मान

        T

        सेटिंग की वैल्यू. ध्यान दें कि हर सेटिंग के लिए, वैल्यू का एक खास टाइप होता है. इसके बारे में सेटिंग के साथ बताया गया है. एक्सटेंशन को किसी दूसरी तरह की वैल्यू सेट नहीं करनी चाहिए.

    • कॉलबैक

      function ज़रूरी नहीं

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

      () => void

    • returns

      वादा<शून्य>

      Chrome 96+

      सेट ऑपरेशन पूरा होने पर कॉल किया जाता है.

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

ChromeSettingScope

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

ChromeSetting का दायरा. इनमें से कोई एक

  • regular: सामान्य प्रोफ़ाइल के लिए सेटिंग (अगर इसे कहीं और बदला नहीं गया है, तो गुप्त प्रोफ़ाइल में भी यही सेटिंग लागू होती है),
  • regular\_only: सिर्फ़ सामान्य प्रोफ़ाइल के लिए सेटिंग (गुप्त मोड वाली प्रोफ़ाइल को इनहेरिट नहीं किया जाता),
  • incognito\_persistent: गुप्त प्रोफ़ाइल के लिए सेटिंग, जो ब्राउज़र को रीस्टार्ट करने के बाद भी बनी रहती है (सामान्य सेटिंग को बदल देती है),
  • incognito\_session\_only: गुप्त मोड वाले सेशन के लिए सेटिंग, जिसे सिर्फ़ गुप्त मोड वाले सेशन के दौरान सेट किया जा सकता है. साथ ही, गुप्त मोड वाला सेशन खत्म होने पर इसे मिटा दिया जाता है (यह सामान्य और incognito_persistent सेटिंग को बदल देती है).

Enum

"regular"

"regular_only"

"incognito_persistent"

"incognito_session_only"

LevelOfControl

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

इनमें से कोई एक

  • not\_controllable: इसे किसी भी एक्सटेंशन से कंट्रोल नहीं किया जा सकता
  • controlled\_by\_other\_extensions: इसे ज़्यादा प्राथमिकता वाले एक्सटेंशन कंट्रोल करते हैं
  • controllable\_by\_this\_extension: इस एक्सटेंशन से कंट्रोल किया जा सकता है
  • controlled\_by\_this\_extension: इस एक्सटेंशन से कंट्रोल किया जाता है

Enum

"not_controllable"

"controlled_by_other_extensions"

"controllable_by_this_extension"

"controlled_by_this_extension"