توضیحات
از chrome.privacy
API برای کنترل استفاده از ویژگیهایی در Chrome استفاده کنید که میتواند بر حریم خصوصی کاربر تأثیر بگذارد. این API برای دریافت و تنظیم پیکربندی Chrome به نمونه اولیه ChromeSetting از نوع API متکی است.
مجوزها
privacy
برای استفاده از API باید مجوز «حریم خصوصی» را در مانیفست برنامه افزودنی خود اعلام کنید. به عنوان مثال:
{
"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_controlable" تنظیم میشود) یا اگر برنامه افزودنی دیگری این مقدار را کنترل کند، کاربر هیچ تغییری در تنظیمات خود مشاهده نخواهد کرد ( levelOfControl
روی "controlled_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.
}
);
نمونه ها
برای امتحان این API، نمونه privacy API را از مخزن chrome-extension-samples نصب کنید.
انواع
IPHandlingPolicy
سیاست مدیریت IP WebRTC.
Enum
"پیش فرض" "اینترفیس_پیش_فرض_عمومی_و_خصوصی" "فقط_واسط_عمومی_پیشفرض" "disable_non_proxied_udp"
خواص
network
تنظیماتی که به طور کلی بر مدیریت Chrome با اتصالات شبکه تأثیر می گذارد.
تایپ کنید
شی
خواص
- networkPredictionEnabled
type.ChromeSetting <boolean>
اگر فعال باشد، Chrome سعی میکند با پیشحلکردن ورودیهای DNS و باز کردن پیشگیرانه اتصالات TCP و SSL به سرورها، تجربه مرور وب شما را سرعت بخشد. این اولویت فقط بر اقدامات انجام شده توسط سرویس پیشبینی داخلی Chrome تأثیر میگذارد. این امر بر بخشهای راهاندازی شده توسط صفحه وب یا اتصالات اولیه تأثیری نمیگذارد. مقدار این اولویت یک بولی است که پیشفرض
true
است. - webRTCIPHandlingPolicyChrome 48+
به کاربران اجازه میدهد تا عملکرد رسانه/معادل حریم خصوصی را تعیین کنند که بر نحوه هدایت ترافیک WebRTC و میزان نمایش اطلاعات آدرس محلی تأثیر میگذارد. مقدار این اولویت از نوع IPHandlingPolicy است که پیشفرض
default
است.
services
تنظیماتی که ویژگیهایی را فعال یا غیرفعال میکنند که به خدمات شبکه شخص ثالث ارائه شده توسط Google و ارائهدهنده جستجوی پیشفرض شما نیاز دارند.
تایپ کنید
شی
خواص
- alternateErrorPagesEnabled
type.ChromeSetting <boolean>
اگر فعال باشد، Chrome از یک سرویس وب برای کمک به رفع خطاهای پیمایش استفاده میکند. مقدار این اولویت یک بولی است که پیشفرض
true
است. - autofillAddressEnabled
type.ChromeSetting <boolean>
Chrome 70+در صورت فعال بودن، Chrome پیشنهاد میکند بهطور خودکار آدرسها و سایر دادههای فرم را پر کند. مقدار این اولویت یک بولی است که پیشفرض
true
است. - autofillCreditCardEnabled
type.ChromeSetting <boolean>
Chrome 70+اگر فعال باشد، Chrome پیشنهاد میکند بهطور خودکار فرمهای کارت اعتباری را پر کند. مقدار این اولویت یک بولی است که پیشفرض
true
است. - تکمیل خودکار فعال شد
type.ChromeSetting <boolean>
از Chrome 70 منسوخ شده استلطفاً از privacy.services.autofillAddressEnabled و privacy.services.autofillCreditCardEnabled استفاده کنید. این برای سازگاری به عقب در این نسخه باقی می ماند و در آینده حذف خواهد شد.
در صورت فعال بودن، Chrome پیشنهاد میکند بهطور خودکار فرمها را پر کند. مقدار این اولویت یک بولی است که پیشفرض
true
است. - passwordSavingEnabled
type.ChromeSetting <boolean>
اگر فعال باشد، مدیر رمز عبور از شما میپرسد که آیا میخواهید گذرواژهها را ذخیره کنید. مقدار این اولویت یک بولی است که پیشفرض
true
است. - safeBrowsingEnabled
type.ChromeSetting <boolean>
اگر فعال باشد، Chrome تمام تلاش خود را می کند تا از شما در برابر فیشینگ و بدافزار محافظت کند. مقدار این اولویت یک بولی است که پیشفرض
true
است. - safeBrowsingExtendedReportingEnabled
type.ChromeSetting <boolean>
اگر فعال باشد، وقتی مرور ایمن صفحهای را مسدود میکند، Chrome اطلاعات بیشتری را به Google ارسال میکند، مانند محتوای صفحه مسدود شده. مقدار این اولویت یک بولی است که به طور پیش فرض
false
است. - searchSuggestEnabled
type.ChromeSetting <boolean>
اگر فعال باشد، Chrome متنی را که در Omnibox تایپ میکنید به موتور جستجوی پیشفرض شما میفرستد، که پیشبینیهایی از وبسایتها و جستجوهایی را ارائه میکند که احتمالاً تکمیلکنندههایی هستند که تاکنون تایپ کردهاید. مقدار این اولویت یک بولی است که پیشفرض
true
است. - spellingServiceEnabled
type.ChromeSetting <boolean>
اگر فعال باشد، Chrome از یک سرویس وب برای کمک به تصحیح خطاهای املایی استفاده می کند. مقدار این اولویت یک بولی است که به طور پیش فرض
false
است. - translationServiceEnabled
type.ChromeSetting <boolean>
اگر فعال باشد، Chrome پیشنهاد میکند صفحاتی را ترجمه کند که به زبانی که شما خواندهاید نیستند. مقدار این اولویت یک بولی است که پیشفرض
true
است.
websites
تنظیماتی که تعیین میکنند Chrome چه اطلاعاتی را در اختیار وبسایتها قرار میدهد.
تایپ کنید
شی
خواص
- adMeasurementEnabled
type.ChromeSetting <boolean>
Chrome 111+اگر غیرفعال باشد، API گزارش انتساب و API جمعآوری خصوصی غیرفعال میشوند. مقدار این اولویت از نوع boolean است و مقدار پیش فرض
true
است. برنامههای افزودنی فقط با تنظیم مقدار رویfalse
میتوانند این APIها را غیرفعال کنند. اگر سعی کنید این API ها را رویtrue
تنظیم کنید، با خطا مواجه می شوید. - doNotTrackEnabled
type.ChromeSetting <boolean>
Chrome 65+اگر فعال باشد، Chrome سرصفحه «ردیابی نشود» (
DNT: 1
) را همراه با درخواستهای شما ارسال میکند. مقدار این اولویت از نوع boolean است و مقدار پیشفرض آنfalse
است. - fledgeEnabled
type.ChromeSetting <boolean>
Chrome 111+اگر غیرفعال باشد، Fledge API غیرفعال می شود. مقدار این اولویت از نوع boolean است و مقدار پیش فرض
true
است. برنامههای افزودنی فقط میتوانند این API را با تنظیم مقدار رویfalse
غیرفعال کنند. اگر سعی کنید این API را رویtrue
تنظیم کنید، با خطا مواجه می شود. - hyperlinkAuditingEnabled
type.ChromeSetting <boolean>
در صورت فعال بودن، Chrome پینگ های بازرسی را در صورت درخواست وب سایت (
<a ping>
) ارسال می کند. مقدار این اولویت از نوع boolean است و مقدار پیش فرضtrue
است. - protectedContentEnabled
type.ChromeSetting <boolean>
فقط در Windows و ChromeOS موجود است : در صورت فعال بودن، Chrome یک شناسه منحصربهفرد برای افزونهها به منظور اجرای محتوای محافظت شده ارائه میکند. مقدار این اولویت از نوع boolean است و مقدار پیش فرض
true
است. - referrers Enabled
type.ChromeSetting <boolean>
اگر فعال باشد، Chrome سرصفحه های
referer
را همراه با درخواست های شما ارسال می کند. بله، نام این اولویت با سرصفحه غلط املایی مطابقت ندارد. نه، ما آن را تغییر نمی دهیم. مقدار این اولویت از نوع boolean است و مقدار پیش فرضtrue
است. type.ChromeSetting <boolean>
Chrome 121+در صورت غیرفعال شدن، Related Website Sets غیرفعال می شود. مقدار این اولویت از نوع boolean است و مقدار پیش فرض
true
است. برنامههای افزودنی فقط میتوانند این API را با تنظیم مقدار رویfalse
غیرفعال کنند. اگر سعی کنید این API را رویtrue
تنظیم کنید، با خطا مواجه می شود.- thirdPartyCookiesAllowed
type.ChromeSetting <boolean>
اگر غیرفعال باشد، Chrome سایتهای شخص ثالث را از تنظیم کوکیها مسدود میکند. مقدار این اولویت از نوع boolean است و مقدار پیش فرض
true
است. - موضوعات فعال شده است
type.ChromeSetting <boolean>
Chrome 111+اگر غیرفعال باشد، Topics API غیرفعال می شود. مقدار این اولویت از نوع boolean است و مقدار پیش فرض
true
است. برنامههای افزودنی فقط میتوانند این API را با تنظیم مقدار رویfalse
غیرفعال کنند. اگر سعی کنید این API را رویtrue
تنظیم کنید، با خطا مواجه می شود.