chrome.types

ब्यौरा

chrome.types API में 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

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

  • मिटाएं

    शून्य

    Promise

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

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

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

    • विवरण

      ऑब्जेक्ट

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

      • दायरा

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

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

    • कॉलबैक

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

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

      () => void

    • returns

      Promise<void>

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

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

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

  • सदस्यता लें

    शून्य

    Promise

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

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

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

    • विवरण

      ऑब्जेक्ट

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

      • गुप्त

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

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

    • कॉलबैक

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

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

      (details: object) => void

      • विवरण

        ऑब्जेक्ट

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

        • incognitoSpecific

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

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

        • levelOfControl

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

        • मान

          T

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

    • returns

      Promise<object>

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

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

  • सेट करो

    शून्य

    Promise

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

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

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

    • विवरण

      ऑब्जेक्ट

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

      • दायरा

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

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

      • मान

        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"