refresh date: 2026-09-25 robots: noindex
شرح
از chrome.privacy API برای کنترل استفاده از ویژگیهایی در Chrome که میتوانند بر حریم خصوصی کاربر تأثیر بگذارند استفاده کنید. این میانای برنامهسازی کاربردی برای دریافت و تنظیم پیکربندی Chrome به نمونه اولیه ChromeSetting از نوع میانای برنامهسازی کاربردی متکی است.
اجازهها
privacyمانیفست
برای استفاده از API، باید اجازه «حریم خصوصی» را در مانیفست افزونهتان اعلام کنید. برای مثال:
{
"name": "My extension",
...
"permissions": [
"privacy"
],
...
}
کاربرد
خواندن مقدار فعلی تنظیمات Chrome ساده است. ابتدا باید ویژگی موردنظرتان را پیدا کنید، سپس get() را در آن شیء فراخوانی کنید تا مقدار فعلی آن و سطح کنترل افزونهتان را بازیابی کنید. برای مثال، برای تعیین اینکه آیا ویژگی «تکمیل خودکار» Chrome فعال است یا نه، اینگونه مینویسید:
chrome.privacy.services.autofillEnabled.get({}, function(details) {
if (details.value) {
console.log('Autofill is on!');
} else {
console.log('Autofill is off!');
}
});
تغییر مقدار یک تنظیم کمی پیچیدهتر است، صرفاً به این دلیل که ابتدا باید تأیید کنید
که افزونه شما میتواند تنظیمات را کنترل کند. اگر افزونه شما تنظیماتی را تغییر دهد که توسط خطمشیهای سازمانی روی مقدار خاصی قفل شده است (levelOfControl روی «not_controllable» تنظیم میشود) یا اگر افزونه دیگری مقدار را کنترل میکند (levelOfControl روی «controlled_by_other_extensions» تنظیم میشود)، کاربر هیچ تغییری در تنظیمات خود نخواهد دید. فراخوانی set() موفقیتآمیز خواهد بود، اما تنظیمات بلافاصله لغو خواهد شد. ازآنجاییکه این موضوع ممکن است گیجکننده باشد، توصیه میشود
وقتی تنظیماتی که کاربر انتخاب کرده است عملاً اعمال نمیشود، به او هشدار دهید.
یعنی باید از روش get() برای تعیین سطح دسترسیتان استفاده کنید و سپس فقط
زمانی set() را فراخوانی کنید که افزونهتان بتواند کنترل تنظیم را بهدست بگیرد (درواقع اگر افزونهتان نتواند
تنظیم را کنترل کند، احتمالاً ایده خوبی است که عملکرد را بهصورت بصری غیرفعال کنید تا سردرگمی کاربر
کاهش یابد):
chrome.privacy.services.autofillEnabled.get({}, function(details) {
if (details.levelOfControl === 'controllable_by_this_extension') {
chrome.privacy.services.autofillEnabled.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.autofillEnabled.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 نصب کنید.
انواع
AutofillBlockedType
دستههای دادههای «تکمیل خودکار».
شمارشی
"contact_info"
«payments»
"identity_docs"
"travel"
«همه»
IPHandlingPolicy
خطمشی رسیدگی به IP مربوط به WebRTC.
شمارشی
«پیشفرض»
"default_public_and_private_interfaces"
"default_public_interface_only"
"disable_non_proxied_udp"
مشخصات
network
تنظیماتی که بهطور کلی بر نحوه مدیریت اتصالات شبکه توسط Chrome تأثیر میگذارند.
نوع
شیء
مشخصات
-
networkPredictionEnabled
types.ChromeSetting<boolean>
اگر فعال باشد، Chrome تلاش میکند با پیشحل کردن ورودیهای DNS، باز کردن پیشگیرانه اتصالهای TCP و SSL به سرورها، و پیشبارگیری صفحهها، تجربه مرور وب شما را سرعت ببخشد. غیرفعال کردن این اولویت، توانایی مالکان سایت برای بار کردن محتوا بهصورت گمانهزنی (مانند پیشواکشی یا پیشپرداززنی ازطریق Speculation Rules API) را لغو میکند. این تنظیم بر پیشواکشیهای DNS یا پیشاتصالهای آغازشده توسط صفحه وب تأثیری ندارد. مقدار این اولویت بولی است و بهطور پیشفرض روی
trueتنظیم شده است. -
webRTCIPHandlingPolicyChrome نسخه ۴۸ به بالا
به کاربران اجازه میدهد تا موازنههای عملکرد/حریم خصوصی رسانه را مشخص کنند که بر نحوه مسیریابی ترافیک WebRTC و میزان افشای اطلاعات نشانی محلی تأثیر میگذارد. مقدار این اولویت از نوع IPHandlingPolicy است، که بهطور پیشفرض
defaultاست.
services
تنظیماتی که ویژگیهای نیازمند سرویسهای شبکه طرف سوم ارائهشده توسط Google و ارائهدهنده جستجوی پیشفرض شما را فعال یا غیرفعال میکند.
نوع
شیء
مشخصات
-
alternateErrorPagesEnabled
types.ChromeSetting<boolean>
اگر فعال باشد، Chrome از یک سرویس وب برای کمک به حل خطاهای پیمایش استفاده میکند. مقدار این اولویت بولی است و بهطور پیشفرض روی
trueتنظیم شده است. -
autofillAddressEnabled
types.ChromeSetting<boolean>
Chrome نسخه ۷۰ به بالااگر فعال باشد، Chrome پیشنهاد میکند نشانیها و دیگر دادههای فرم را بهطور خودکار تکمیل کند. مقدار این اولویت بولی است و بهطور پیشفرض روی
trueتنظیم شده است. -
autofillCreditCardEnabled
types.ChromeSetting<boolean>
Chrome نسخه ۷۰ به بالااگر فعال باشد، 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>
اگر فعال باشد، وقتی «مرور ایمن» صفحهای را مسدود میکند، Chrome اطلاعات بیشتری مثل محتوای صفحه مسدودشده را به Google ارسال میکند. مقدار این اولویت بولی است و بهطور پیشفرض روی
falseتنظیم شده است. -
searchSuggestEnabled
types.ChromeSetting<boolean>
اگر فعال باشد، Chrome نوشتاری را که در Omnibox تایپ میکنید به موتور جستجوی پیشفرض شما ارسال میکند، که پیشبینیهایی از وبسایتها و جستجوهایی را ارائه میدهد که احتمالاً تکمیلکننده آنچه تاکنون تایپ کردهاید هستند. مقدار این اولویت بولی است و بهطور پیشفرض روی
trueتنظیم شده است. -
spellingServiceEnabled
types.ChromeSetting<boolean>
اگر فعال باشد، Chrome از سرویس وب برای کمک به اصلاح غلطهای املایی استفاده میکند. مقدار این اولویت بولی است و بهطور پیشفرض روی
falseتنظیم شده است. -
translationServiceEnabled
types.ChromeSetting<boolean>
اگر فعال باشد، Chrome پیشنهاد میکند صفحههایی را که به زبان شما نیستند ترجمه کند. مقدار این اولویت بولی است و بهطور پیشفرض روی
trueتنظیم شده است.
websites
تنظیماتی که تعیین میکند Chrome چه اطلاعاتی را دردسترس وبسایتها قرار دهد.
نوع
شیء
مشخصات
-
adMeasurementEnabled
types.ChromeSetting<boolean>
Chrome نسخه ۱۱۱ به بالااگر غیرفعال شود، Attribution Reporting API و Private Aggregation API غیرفعال میشوند. مقدار این اولویت از نوع بولی است و مقدار پیشفرض
trueاست. افزونهها فقط با تنظیم مقدار رویfalseمیتوانند این میاناهای برنامهسازی کاربردی را غیرفعال کنند. اگر سعی کنید این میاناهای برنامهسازی کاربردی را رویtrueتنظیم کنید، خطایی ایجاد میشود. -
doNotTrackEnabled
types.ChromeSetting<boolean>
Chrome نسخه ۶۵ و بالاتراگر فعال باشد، Chrome سرصفحه «Do Not Track» (
DNT: 1) را با درخواستهای شما ارسال میکند. مقدار این اولویت از نوع بولی است و مقدار پیشفرضfalseاست. -
fledgeEnabled
types.ChromeSetting<boolean>
Chrome نسخه ۱۱۱ به بالااگر غیرفعال باشد، Fledge API غیرفعال میشود. مقدار این اولویت از نوع بولی است و مقدار پیشفرض
trueاست. افزونهها فقط با تنظیم مقدار رویfalseمیتوانند این API را غیرفعال کنند. اگر سعی کنید این میانای برنامهسازی کاربردی را رویtrueتنظیم کنید، خطا ایجاد خواهد شد. -
hyperlinkAuditingEnabled
types.ChromeSetting<boolean>
اگر فعال باشد، Chrome پینگهای ممیزی را وقتی وبسایتی درخواست کند ارسال میکند (
<a ping>). مقدار این اولویت از نوع بولی است و مقدار پیشفرضtrueاست. -
protectedContentEnabled
types.ChromeSetting<boolean>
فقط در Windows و ChromeOS دردسترس است: اگر فعال باشد، Chrome شناسه یکتایی به افزونهها ارائه میدهد تا محتوای محافظتشده را اجرا کنند. مقدار این اولویت از نوع بولی است و مقدار پیشفرض
trueاست. -
referrersEnabled
types.ChromeSetting<boolean>
اگر فعال باشد، Chrome سرایندههای
refererرا با درخواستهایتان ارسال میکند. بله، نام این اولویت با سرصفحه دارای غلط املایی مطابقت ندارد. نه، قصد نداریم آن را تغییر دهیم. مقدار این اولویت از نوع بولی است و مقدار پیشفرضtrueاست. -
thirdPartyCookiesAllowed
types.ChromeSetting<boolean>
اگر غیرفعال باشد، Chrome به سایتهای طرف سوم اجازه نمیدهد کوکی تنظیم کنند. مقدار این اولویت از نوع بولی است و مقدار پیشفرض
trueاست. افزونهها ممکن است این میانای برنامهسازی کاربردی را در «حالت ناشناس» فعال نکنند، جایی که کوکیهای طرف سوم مسدود شدهاند و فقط در سطح سایت میتوان آنها را مجاز کرد. اگر سعی کنید این میانای برنامهسازی کاربردی را در حالت «ناشناس» روی «درست» تنظیم کنید، خطایی ایجاد خواهد شد.توجه: اگر سایتهای تکی معافیت معتبری داشته باشند یا بهجای آن از Storage Access API استفاده کنند، ممکن است همچنان بتوانند هنگام برگرداندن
falseتوسط این API به کوکیهای طرف سوم دسترسی داشته باشند. -
topicsEnabled
types.ChromeSetting<boolean>
Chrome نسخه ۱۱۱ به بالااگر غیرفعال باشد، Topics API غیرفعال میشود. مقدار این اولویت از نوع بولی است و مقدار پیشفرض
trueاست. افزونهها فقط با تنظیم مقدار رویfalseمیتوانند این API را غیرفعال کنند. اگر سعی کنید این میانای برنامهسازی کاربردی را رویtrueتنظیم کنید، خطا ایجاد خواهد شد.