chrome.types

ब्यौरा

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

Chrome सेटिंग

ChromeSetting प्रोटोटाइप, फ़ंक्शन का एक सामान्य सेट (get(), set(), और clear()) उपलब्ध कराता है. साथ ही, Chrome ब्राउज़र की सेटिंग के लिए इवेंट पब्लिशर (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

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

  • मिटाएं

    अमान्य

    प्रॉमिस

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

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

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

    • विवरण

      ऑब्जेक्ट

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

      • दायरा

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

    • कॉलबैक

      फ़ंक्शन ज़रूरी नहीं

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

      () => void

    • returns

      Promise<void>

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

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

  • सदस्यता लें

    अमान्य

    प्रॉमिस

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

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

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

    • विवरण

      ऑब्जेक्ट

      किस सेटिंग पर विचार करना है.

      • गुप्त

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

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

    • कॉलबैक

      फ़ंक्शन ज़रूरी नहीं

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

      (details: object) => void

      • विवरण

        ऑब्जेक्ट

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

        • incognitoSpecific

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

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

        • levelOfControl

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

        • मान

          T

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

    • returns

      Promise<object>

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

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

  • सेट करो

    अमान्य

    प्रॉमिस

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

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

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

    • विवरण

      ऑब्जेक्ट

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

      • दायरा

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

      • मान

        T

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

    • कॉलबैक

      फ़ंक्शन ज़रूरी नहीं

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

      () => void

    • returns

      Promise<void>

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

      प्रॉमिस सिर्फ़ मेनिफ़ेस्ट 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"