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