ब्यौरा
chrome.privacy
एपीआई का इस्तेमाल करके, Chrome की उन सुविधाओं के इस्तेमाल को कंट्रोल करें जिनसे उपयोगकर्ता की निजता पर असर पड़ सकता है. यह एपीआई, Chrome का कॉन्फ़िगरेशन पाने और सेट करने के लिए, एपीआई टाइप के ChromeSettings प्रोटोटाइप का इस्तेमाल करता है.
अनुमतियां
privacy
आपको "निजता" नीति का एलान करना होगा को इस्तेमाल करने की अनुमति अपने एक्सटेंशन के मेनिफ़ेस्ट में दें. इसके लिए उदाहरण:
{
"name": "My extension",
...
"permissions": [
"privacy"
],
...
}
सिद्धांत और उनका इस्तेमाल
Chrome की सेटिंग की मौजूदा वैल्यू को आसानी से पढ़ा जा सकता है. आपको सबसे पहले यह पता लगाना होगा कि
प्रॉपर्टी चाहते हैं, तो आप उस ऑब्जेक्ट पर get()
को कॉल करेंगे, ताकि
और आपके एक्सटेंशन के नियंत्रण के स्तर को सेट करते हैं. उदाहरण के लिए, यह पता लगाने के लिए कि Chrome के क्रेडिट कार्ड की ऑटोमैटिक भरने की सुविधा
सुविधा सक्षम है, तो आप यह लिखेंगे:
chrome.privacy.services.autofillCreditCardEnabled.get({}, function(details) {
if (details.value) {
console.log('Autofill is on!');
} else {
console.log('Autofill is off!');
}
});
किसी सेटिंग की वैल्यू बदलने की प्रोसेस थोड़ी मुश्किल होती है, क्योंकि पहले आपको उसकी पुष्टि करनी होती है
कि आपका एक्सटेंशन सेटिंग को कंट्रोल कर सके. उपयोगकर्ता को अपनी सेटिंग में कोई बदलाव नहीं दिखेगा, अगर आपका
एक्सटेंशन ऐसी सेटिंग को टॉगल करता है जिसे एंटरप्राइज़ नीतियों के तहत, किसी खास वैल्यू पर लॉक किया जाता है
(levelOfControl
को "not_controllable") पर सेट किया जाएगा या अगर कोई अन्य एक्सटेंशन
वैल्यू (levelOfControl
को "Control_by_other_extensions" पर सेट किया जाएगा). set()
कॉल में
हो जाता है, लेकिन सेटिंग तुरंत बदल दी जाएगी. इससे भ्रम हो सकता है, लेकिन यह सलाह दी जाती है
जब उपयोगकर्ता की चुनी हुई सेटिंग व्यावहारिक रूप से लागू नहीं होती हैं, तब उपयोगकर्ता को चेतावनी देने के लिए.
इसका मतलब है कि आपको अपने ऐक्सेस का लेवल तय करने के लिए, get()
तरीके का इस्तेमाल करना चाहिए. इसके बाद ही
set()
को कॉल करें अगर आपका एक्सटेंशन सेटिंग पर नियंत्रण कर सकता है (वास्तव में अगर आपका एक्सटेंशन
कंट्रोल करना चाहिए कि उपयोगकर्ता को कम करने के लिए, सुविधा को विज़ुअल तौर पर बंद करना अच्छा रहेगा
भ्रम की स्थिति):
chrome.privacy.services.autofillCreditCardEnabled.get({}, function(details) {
if (details.levelOfControl === 'controllable_by_this_extension') {
chrome.privacy.services.autofillCreditCardEnabled.set({ value: true }, function() {
if (chrome.runtime.lastError === undefined) {
console.log("Hooray, it worked!");
} else {
console.log("Sadness!", chrome.runtime.lastError);
}
});
}
});
अगर आपको किसी सेटिंग की वैल्यू में बदलाव करना है, तो लिसनर को उसके onChange
इवेंट में जोड़ें. बीच में
नहीं है, तो यह आपको उपयोगकर्ता को चेतावनी देने की अनुमति देगा कि अगर हाल ही में इंस्टॉल किया गया कोई एक्सटेंशन
या एंटरप्राइज़ नीति आपके कंट्रोल को बदल देती है. बदलावों को सुनने के लिए
क्रेडिट कार्ड की जानकारी ऑटोमैटिक भरने की सुविधा का स्टेटस देखें. उदाहरण के लिए, यह कोड ही काफ़ी होगा:
chrome.privacy.services.autofillCreditCardEnabled.onChange.addListener(
function (details) {
// The new value is stored in `details.value`, the new level of control
// in `details.levelOfControl`, and `details.incognitoSpecific` will be
// `true` if the value is specific to Incognito mode.
}
);
उदाहरण
इस एपीआई को आज़माने के लिए, chrome-extension-samples से privacy API का उदाहरण इंस्टॉल करें डेटा स्टोर करने की जगह.
टाइप
IPHandlingPolicy
WebRTC की आईपी पते को मैनेज करने से जुड़ी नीति.
Enum
"डिफ़ॉल्ट"
"default_public_and_private_interfaces"
"default_public_interface_only"
"disable_non_proxied_udp"
प्रॉपर्टी
network
वे सेटिंग जो सामान्य रूप से Chrome के नेटवर्क कनेक्शन के प्रबंधन को प्रभावित करती हैं.
टाइप
ऑब्जेक्ट
प्रॉपर्टी
-
networkPredictionEnabled
types.ChromeSetting<boolean>
अगर यह नीति चालू है, तो Chrome, डीएनएस एंट्री का पहले से समाधान करके और सर्वर पर टीसीपी और एसएसएल कनेक्शन को पहले से खोलकर, आपके वेब ब्राउज़िंग अनुभव को तेज़ करने की कोशिश करता है. यह प्राथमिकता सिर्फ़ Chrome की आंतरिक पूर्वानुमान सेवा की ओर से की जाने वाली कार्रवाइयों पर असर डालती है. इससे वेबपेज से शुरू किए गए प्रीफ़ेक्ट या प्रीकनेक्ट पर कोई असर नहीं पड़ता. इस प्राथमिकता की वैल्यू एक बूलियन है और यह डिफ़ॉल्ट रूप से
true
पर सेट है. -
webRTCIPHandlingPolicyChrome 48 और उसके बाद वाले वर्शन के लिए
उपयोगकर्ताओं को मीडिया परफ़ॉर्मेंस/निजता से जुड़े बदलाव तय करने की अनुमति दें. इससे WebRTC ट्रैफ़िक को रूट करने और स्थानीय पते की कितनी जानकारी ज़ाहिर हो सकती है, उस पर असर पड़ता है. इस प्राथमिकता की वैल्यू IPhandlingPolicy की तरह की है और यह डिफ़ॉल्ट रूप से
default
पर सेट है.
services
ऐसी सेटिंग जो ऐसी सुविधाओं को चालू या बंद करती हैं जिनके लिए Google और आपके डिफ़ॉल्ट सर्च प्रोवाइडर की तीसरे पक्ष की नेटवर्क सेवाओं की ज़रूरत होती है.
टाइप
ऑब्जेक्ट
प्रॉपर्टी
-
alternateErrorPagesEnabled
types.ChromeSetting<boolean>
अगर यह नीति चालू है, तो Chrome, नेविगेशन की गड़बड़ियों को ठीक करने के लिए वेब सेवा का इस्तेमाल करता है. इस प्राथमिकता की वैल्यू एक बूलियन है और यह डिफ़ॉल्ट रूप से
true
पर सेट है. -
autofillAddressEnabled
types.ChromeSetting<boolean>
Chrome 70 और उसके बाद के वर्शनइस सुविधा के चालू होने पर Chrome, पते और फ़ॉर्म का अन्य डेटा अपने-आप भरने का विकल्प देता है. इस प्राथमिकता की वैल्यू एक बूलियन है और यह डिफ़ॉल्ट रूप से
true
पर सेट है. -
autofillCreditCardEnabled
types.ChromeSetting<boolean>
Chrome 70 और उसके बाद के वर्शनइस सुविधा के चालू होने पर Chrome, क्रेडिट कार्ड के फ़ॉर्म अपने-आप भरने का विकल्प देता है. इस प्राथमिकता की वैल्यू एक बूलियन है और यह डिफ़ॉल्ट रूप से
true
पर सेट है. -
autofillEnabled
types.ChromeSetting<boolean>
Chrome 70 के बाद से अब तक काम नहीं करताकृपया privacy.services.autofillAddressEnabled और privacy.services.autofillcreditcardEnabled का इस्तेमाल करें. ऐसा इसलिए किया जाता है, ताकि इस रिलीज़ में पुराने सिस्टम के साथ काम करने की सुविधा मिलती रहे. साथ ही, आने वाले समय में इसे हटा दिया जाएगा.
इस सुविधा के चालू होने पर Chrome, फ़ॉर्म अपने-आप भरने का विकल्प देता है. इस प्राथमिकता की वैल्यू एक बूलियन है और यह डिफ़ॉल्ट रूप से
true
पर सेट है. -
passwordSavingEnabled
types.ChromeSetting<boolean>
अगर यह नीति चालू है, तो पासवर्ड मैनेजर आपसे पूछेगा कि क्या आपको पासवर्ड सेव करने हैं. इस प्राथमिकता की वैल्यू एक बूलियन है और यह डिफ़ॉल्ट रूप से
true
पर सेट है. -
safeBrowsingEnabled
types.ChromeSetting<boolean>
यह सुविधा चालू होने पर, Chrome आपको फ़िशिंग और मैलवेयर से बचाने की पूरी कोशिश करता है. इस प्राथमिकता की वैल्यू एक बूलियन है और यह डिफ़ॉल्ट रूप से
true
पर सेट है. -
safeBrowsingExtendedReportingEnabled
types.ChromeSetting<boolean>
अगर यह नीति चालू है, तो SafeBrowsing के ज़रिए किसी पेज को ब्लॉक करने पर Chrome, Google को अतिरिक्त जानकारी भेजेगा. जैसे, ब्लॉक किए गए पेज का कॉन्टेंट. इस प्राथमिकता की वैल्यू एक बूलियन है और यह डिफ़ॉल्ट रूप से
false
पर सेट है. -
searchSuggestEnabled
types.ChromeSetting<boolean>
यदि सक्षम हो, तो Chrome आपके द्वारा ऑम्नीबॉक्स में लिखे जाने वाले टेक्स्ट को आपके डिफ़ॉल्ट खोज इंजन को भेजता है, जो उन वेबसाइटों और खोजों के पूर्वानुमान प्रदान करता है जो आपके द्वारा अभी तक टाइप किए गए टेक्स्ट का पूर्ण रूप से पूर्ण हो सकती हैं. इस प्राथमिकता की वैल्यू एक बूलियन है और यह डिफ़ॉल्ट रूप से
true
पर सेट है. -
spellingServiceEnabled
types.ChromeSetting<boolean>
यह सुविधा चालू होने पर Chrome, वर्तनी की गड़बड़ियां ठीक करने के लिए वेब सेवा का इस्तेमाल करता है. इस प्राथमिकता की वैल्यू एक बूलियन है और यह डिफ़ॉल्ट रूप से
false
पर सेट है. -
translationServiceEnabled
types.ChromeSetting<boolean>
अगर यह सेटिंग चालू है, तो Chrome ऐसे पेजों का अनुवाद करने की सुविधा देता है जो आपकी पढ़ी जाने वाली भाषा में नहीं हैं. इस प्राथमिकता की वैल्यू एक बूलियन है और यह डिफ़ॉल्ट रूप से
true
पर सेट है.
websites
ऐसी सेटिंग जो यह तय करती हैं कि Chrome, वेबसाइटों को कौनसी जानकारी उपलब्ध कराएगा.
टाइप
ऑब्जेक्ट
प्रॉपर्टी
-
adMeasurementEnabled
types.ChromeSetting<boolean>
Chrome 111 और उसके बाद वाले वर्शन के लिएअगर यह विकल्प बंद है, तो Attribution Reporting API और Private एग्रीगेशन API बंद हो जाते हैं. इस प्राथमिकता का मान टाइप बूलियन है और डिफ़ॉल्ट वैल्यू
true
है. एक्सटेंशन, वैल्यू कोfalse
पर सेट करके ही इन एपीआई को बंद कर सकते हैं. इन एपीआई कोtrue
पर सेट करने की कोशिश करने पर, गड़बड़ी दिखेगी. -
doNotTrackEnabled
types.ChromeSetting<boolean>
Chrome 65 और उसके बाद वाले वर्शनअगर यह नीति चालू है, तो Chrome 'Do Not Track' भेजता है (
DNT: 1
) आपके अनुरोधों के साथ हेडर. इस प्राथमिकता का मान टाइप बूलियन है और डिफ़ॉल्ट वैल्यूfalse
है. -
fledgeEnabled
types.ChromeSetting<boolean>
Chrome 111 और उसके बाद वाले वर्शन के लिएबंद होने पर, Fledge API बंद हो जाता है. इस प्राथमिकता का मान टाइप बूलियन है और डिफ़ॉल्ट वैल्यू
true
है. एक्सटेंशन, वैल्यू कोfalse
पर सेट करके ही इस एपीआई को बंद कर सकते हैं. इस एपीआई कोtrue
पर सेट करने की कोशिश करने पर, गड़बड़ी दिखेगी. -
hyperlinkAuditingEnabled
types.ChromeSetting<boolean>
अगर यह नीति चालू है, तो किसी वेबसाइट (
<a ping>
) के अनुरोध पर Chrome, ऑडिटिंग पिंग भेजता है. इस प्राथमिकता का मान टाइप बूलियन है और डिफ़ॉल्ट वैल्यूtrue
है. -
protectedContentEnabled
types.ChromeSetting<boolean>
सिर्फ़ Windows और ChromeOS पर उपलब्ध है: चालू होने पर, Chrome, प्लगिन को एक यूनीक आईडी देता है, ताकि सुरक्षित कॉन्टेंट चलाया जा सके. इस प्राथमिकता का मान टाइप बूलियन है और डिफ़ॉल्ट वैल्यू
true
है. -
referrersEnabled
types.ChromeSetting<boolean>
यह सुविधा चालू होने पर, Chrome आपके अनुरोधों के साथ
referer
हेडर भेजता है. हां, इस प्राथमिकता का नाम गलत स्पेलिंग वाले हेडर से मेल नहीं खाता है. नहीं, हम इसे नहीं बदलने वाले हैं. इस प्राथमिकता का मान टाइप बूलियन है और डिफ़ॉल्ट वैल्यूtrue
है. -
types.ChromeSetting<boolean>
Chrome 121 और उसके बाद वाले वर्शनअगर यह नीति बंद है, तो मिलती-जुलती वेबसाइट के सेट बंद कर दिए जाते हैं. इस प्राथमिकता का मान टाइप बूलियन है और डिफ़ॉल्ट वैल्यू
true
है. एक्सटेंशन, वैल्यू कोfalse
पर सेट करके ही इस एपीआई को बंद कर सकते हैं. इस एपीआई कोtrue
पर सेट करने की कोशिश करने पर, गड़बड़ी दिखेगी. -
thirdPartyCookiesAllowed
types.ChromeSetting<boolean>
इस विकल्प को बंद करने पर Chrome, तीसरे पक्ष की साइटों को कुकी सेट करने से रोकता है. इस प्राथमिकता का मान टाइप बूलियन है और डिफ़ॉल्ट वैल्यू
true
है. -
topicsEnabled
types.ChromeSetting<boolean>
Chrome 111 और उसके बाद वाले वर्शन के लिएबंद होने पर, Topics API को बंद कर दिया जाता है. इस प्राथमिकता का मान टाइप बूलियन है और डिफ़ॉल्ट वैल्यू
true
है. एक्सटेंशन, वैल्यू कोfalse
पर सेट करके ही इस एपीआई को बंद कर सकते हैं. इस एपीआई कोtrue
पर सेट करने की कोशिश करने पर, गड़बड़ी दिखेगी.