chrome.types

ब्यौरा

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

    इवेंट<Functionvoidvoid>

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

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

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

    • कॉलबैक

      फ़ंक्शन

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

      (details: object)=>void

      • विवरण

        ऑब्जेक्ट

        • incognitoSpecific

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

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

        • levelOfControl

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

        • value

          T

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

  • मिटाएं

    void

    वादा

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

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

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

    • विवरण

      ऑब्जेक्ट

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

      • दायरा

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

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

    • कॉलबैक

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

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

      ()=>void

    • returns

      Promise<void>

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

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

  • रिवॉर्ड पाएँ

    void

    वादा

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

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

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

    • विवरण

      ऑब्जेक्ट

      किस सेटिंग का इस्तेमाल करना चाहिए.

      • गुप्त मोड

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

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

    • कॉलबैक

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

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

      (details: object)=>void

      • विवरण

        ऑब्जेक्ट

        मौजूदा लागू वैल्यू की जानकारी.

        • incognitoSpecific

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

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

        • levelOfControl

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

        • value

          T

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

    • returns

      Promise<object>

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

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

  • सेट करो

    void

    वादा

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

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

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

    • विवरण

      ऑब्जेक्ट

      किस सेटिंग को बदलना है.

      • दायरा

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

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

      • value

        T

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

    • कॉलबैक

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

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

      ()=>void

    • returns

      Promise<void>

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

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

ChromeSettingScope

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

ChromeSettings का दायरा. इनमें से एक

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

Enum

"regular_only"

LevelOfControl

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

इनमें से एक

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

Enum

"not_controllable"

"controllable_by_this_extension"