ब्यौरा
chrome.types API में Chrome के लिए टाइप डिक्लेरेशन शामिल हैं.
Chrome सेटिंग
ChromeSetting टाइप, फ़ंक्शन का एक सामान्य सेट (get(), set(), और clear()) उपलब्ध कराता है. साथ ही, Chrome ब्राउज़र की सेटिंग के लिए इवेंट पब्लिशर (onChange) भी उपलब्ध कराता है. प्रॉक्सी सेटिंग के उदाहरणों से पता चलता है कि इन फ़ंक्शन का इस्तेमाल कैसे किया जाता है.
स्कोप और लाइफ़साइकल
Chrome, ब्राउज़र सेटिंग के तीन अलग-अलग स्कोप के बीच अंतर करता है:
regular- सेटिंग, सामान्य ब्राउज़र विंडो पर लागू होती हैं. साथ ही, अगर उन्हें बदला नहीं जाता है, तो वे गुप्त विंडो पर भी लागू होती हैं. ये सेटिंग डिस्क में सेव की जाती हैं. ये तब तक सेव रहती हैं, जब तक इन्हें कंट्रोल करने वाला एक्सटेंशन मिटा नहीं देता या उसे बंद या अनइंस्टॉल नहीं कर दिया जाता.
incognito_persistentincognito_persistentस्कोप में सेट की गई सेटिंग, सिर्फ़ गुप्त विंडो पर लागू होती हैं. इनके लिए, येregularकी सेटिंग को बदल देती हैं. ये सेटिंग डिस्क में सेव की जाती हैं. ये तब तक बनी रहती हैं, जब तक इन्हें कंट्रोल करने वाला एक्सटेंशन मिटा नहीं देता या उसे बंद या अनइंस्टॉल नहीं कर दिया जाता.incognito_session_onlyincognito_session_onlyस्कोप में सेट की गई सेटिंग, सिर्फ़ गुप्त विंडो पर लागू होती हैं. इनके लिए, येregularऔरincognito_persistentकी सेटिंग को बदल देती हैं. इन सेटिंग को डिस्क में सेव नहीं किया जाता. साथ ही, गुप्त मोड वाली आखिरी विंडो बंद होने पर इन्हें मिटा दिया जाता है. इन्हें सिर्फ़ तब सेट किया जा सकता है, जब कम से कम एक गुप्त विंडो खुली हो.
regular स्कोप में सेट की गई प्राथमिकता
Chrome, अलग-अलग लेयर पर सेटिंग मैनेज करता है. यहां दी गई सूची में, उन लेयर के बारे में बताया गया है जो सेटिंग को असरदार बना सकती हैं. इन्हें प्राथमिकता के बढ़ते क्रम में दिखाया गया है.
- ऑपरेटिंग सिस्टम की ओर से दी गई सिस्टम सेटिंग
- कमांड-लाइन पैरामीटर
- एक्सटेंशन की ओर से दी गई सेटिंग
- नीतियां
सूची से पता चलता है कि नीतियां, आपके एक्सटेंशन के ज़रिए किए गए किसी भी बदलाव को खारिज कर सकती हैं. 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) => {...}
-
विवरण
ऑब्जेक्ट
कौनसी सेटिंग मिटानी है.
-
दायरा
ChromeSettingScope ज़रूरी नहीं है
सेटिंग को कहां मिटाना है (डिफ़ॉल्ट: रेगुलर).
-
-
returns
Promise<void>
Chrome 96 और इसके बाद के वर्शनक्लियर ऑपरेशन पूरा होने पर कॉल किया जाता है.
-
-
सदस्यता लें
शून्य
किसी सेटिंग की वैल्यू मिलती है.
getफ़ंक्शन इस तरह दिखता है:(details: object) => {...}
-
विवरण
ऑब्जेक्ट
किस सेटिंग पर विचार करना है.
-
गुप्त
बूलियन ज़रूरी नहीं है
क्या गुप्त सेशन पर लागू होने वाली वैल्यू को दिखाना है (डिफ़ॉल्ट रूप से गलत).
-
-
returns
Promise<object>
Chrome 96 और इसके बाद के वर्शन
-
-
सेट करो
शून्य
किसी सेटिंग की वैल्यू सेट करता है.
setफ़ंक्शन इस तरह दिखता है:(details: object) => {...}
-
विवरण
ऑब्जेक्ट
कौनसी सेटिंग बदलनी है.
-
दायरा
ChromeSettingScope ज़रूरी नहीं है
सेटिंग कहां सेट करनी है (डिफ़ॉल्ट: सामान्य).
-
मान
T
सेटिंग की वैल्यू. ध्यान दें कि हर सेटिंग की वैल्यू का एक खास टाइप होता है. इसके बारे में सेटिंग के साथ बताया गया है. एक्सटेंशन को किसी दूसरी टाइप की वैल्यू सेट नहीं करनी चाहिए.
-
-
returns
Promise<void>
Chrome 96 और इसके बाद के वर्शनसेट ऑपरेशन पूरा होने पर इसे कॉल किया जाता है.
-
ChromeSettingScope
ChromeSetting का स्कोप. इनमें से एक
regular: सामान्य प्रोफ़ाइल के लिए सेटिंग (अगर इसे कहीं और बदला नहीं गया है, तो यह गुप्त प्रोफ़ाइल के लिए भी लागू होती है),regular\_only: यह सेटिंग सिर्फ़ सामान्य प्रोफ़ाइल के लिए है. यह गुप्त प्रोफ़ाइल के लिए नहीं है,incognito\_persistent: गुप्त प्रोफ़ाइल के लिए ऐसी सेटिंग जो ब्राउज़र को फिर से चालू करने के बाद भी बनी रहती है. यह सामान्य सेटिंग को बदल देती है,incognito\_session\_only: यह गुप्त प्रोफ़ाइल के लिए सेटिंग होती है. इसे सिर्फ़ गुप्त मोड वाले सेशन के दौरान सेट किया जा सकता है. गुप्त मोड वाला सेशन खत्म होने पर, यह मिट जाती है. यह सामान्य और incognito_persistent प्राथमिकताओं को बदल देती है.
Enum
"regular"
"regular_only"
"incognito_persistent"
"incognito_session_only"
LevelOfControl
इनमें से एक
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"