chrome.privacy

شرح

از 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

Chrome 48+

سیاست مدیریت IP WebRTC.

Enum

"پیش فرض"

"اینترفیس_پیش_فرض_عمومی_و_خصوصی"

"فقط_واسط_عمومی_پیش‌فرض"

"disable_non_proxied_udp"

خواص

network

تنظیماتی که به طور کلی بر مدیریت Chrome با اتصالات شبکه تأثیر می گذارد.

تایپ کنید

هدف - شی

خواص

  • networkPredictionEnabled

    اگر فعال باشد، Chrome سعی می‌کند با پیش‌حل‌کردن ورودی‌های DNS و باز کردن پیشگیرانه اتصالات TCP و SSL به سرورها، تجربه مرور وب شما را سرعت بخشد. این اولویت فقط بر اقدامات انجام شده توسط سرویس پیش‌بینی داخلی Chrome تأثیر می‌گذارد. این امر بر بخش‌های راه‌اندازی شده توسط صفحه وب یا اتصالات اولیه تأثیری نمی‌گذارد. مقدار این اولویت یک بولی است که پیش‌فرض true .

  • webRTCIPHandlingPolicy
    Chrome 48+

    به کاربران اجازه می دهد تا مبادلات عملکرد رسانه/حریم خصوصی را تعیین کنند که بر نحوه هدایت ترافیک WebRTC و میزان افشای اطلاعات آدرس محلی تأثیر می گذارد. مقدار این اولویت از نوع IPHandlingPolicy است که پیش‌فرض default است.

services

تنظیماتی که ویژگی‌هایی را فعال یا غیرفعال می‌کنند که به خدمات شبکه شخص ثالث ارائه شده توسط Google و ارائه‌دهنده جستجوی پیش‌فرض شما نیاز دارند.

تایپ کنید

هدف - شی

خواص

  • alternateErrorPagesEnabled

    اگر فعال باشد، Chrome از یک سرویس وب برای کمک به رفع خطاهای پیمایش استفاده می‌کند. مقدار این اولویت یک بولی است که پیش‌فرض true .

  • autofillAddressEnabled
    Chrome 70+

    در صورت فعال بودن، Chrome پیشنهاد می‌کند به‌طور خودکار آدرس‌ها و سایر داده‌های فرم را پر کند. مقدار این اولویت یک بولی است که پیش‌فرض true .

  • autofillCreditCardEnabled
    Chrome 70+

    اگر فعال باشد، Chrome پیشنهاد می‌کند به‌طور خودکار فرم‌های کارت اعتباری را پر کند. مقدار این اولویت یک بولی است که پیش‌فرض true .

  • تکمیل خودکار فعال شد
    از Chrome 70 منسوخ شده است

    لطفاً از privacy.services.autofillAddressEnabled و privacy.services.autofillCreditCardEnabled استفاده کنید. این برای سازگاری به عقب در این نسخه باقی می ماند و در آینده حذف خواهد شد.

    در صورت فعال بودن، Chrome پیشنهاد می‌کند به‌طور خودکار فرم‌ها را پر کند. مقدار این اولویت یک بولی است که پیش‌فرض true .

  • passwordSavingEnabled

    اگر فعال باشد، مدیر رمز عبور از شما می‌پرسد که آیا می‌خواهید گذرواژه‌ها را ذخیره کنید. مقدار این اولویت یک بولی است که پیش‌فرض true .

  • safeBrowsingEnabled

    اگر فعال باشد، Chrome تمام تلاش خود را می کند تا از شما در برابر فیشینگ و بدافزار محافظت کند. مقدار این اولویت یک بولی است که پیش‌فرض true .

  • safeBrowsingExtendedReportingEnabled

    اگر فعال باشد، وقتی مرور ایمن صفحه‌ای را مسدود می‌کند، Chrome اطلاعات بیشتری را به Google ارسال می‌کند، مانند محتوای صفحه مسدود شده. مقدار این اولویت یک بولی است که به طور پیش فرض false است.

  • searchSuggestEnabled

    اگر فعال باشد، Chrome متنی را که در Omnibox تایپ می‌کنید به موتور جستجوی پیش‌فرض شما ارسال می‌کند، که پیش‌بینی‌هایی از وب‌سایت‌ها و جستجوهایی را ارائه می‌کند که احتمالاً تکمیل‌کننده‌هایی هستند که تاکنون تایپ کرده‌اید. مقدار این اولویت یک بولی است که پیش‌فرض true .

  • spellingServiceEnabled

    اگر فعال باشد، Chrome از یک سرویس وب برای کمک به تصحیح خطاهای املایی استفاده می کند. مقدار این اولویت یک بولی است که به طور پیش فرض false است.

  • translationServiceEnabled

    اگر فعال باشد، Chrome پیشنهاد می‌کند صفحاتی را ترجمه کند که به زبانی که شما خوانده‌اید نیستند. مقدار این اولویت یک بولی است که پیش‌فرض true .

websites

تنظیماتی که تعیین می‌کنند Chrome چه اطلاعاتی را در اختیار وب‌سایت‌ها قرار می‌دهد.

تایپ کنید

هدف - شی

خواص

  • adMeasurementEnabled
    Chrome 111+

    اگر غیرفعال باشد، API گزارش انتساب و API جمع‌آوری خصوصی غیرفعال می‌شوند. مقدار این اولویت از نوع boolean است و مقدار پیش‌فرض true است. برنامه‌های افزودنی فقط می‌توانند این APIها را با تنظیم مقدار روی false غیرفعال کنند. اگر سعی کنید این API ها را روی true تنظیم کنید، با خطا مواجه می شوید.

  • doNotTrackEnabled
    Chrome 65+

    اگر فعال باشد، Chrome سرصفحه «ردیابی نشود» ( DNT: 1 ) را همراه با درخواست‌های شما ارسال می‌کند. مقدار این اولویت از نوع boolean است و مقدار پیش‌فرض آن false است.

  • fledgeEnabled
    Chrome 111+

    اگر غیرفعال باشد، Fledge API غیرفعال می شود. مقدار این اولویت از نوع boolean است و مقدار پیش فرض true است. برنامه‌های افزودنی فقط می‌توانند این API را با تنظیم مقدار روی false غیرفعال کنند. اگر سعی کنید این API را روی true تنظیم کنید، با خطا مواجه می شود.

  • hyperlinkAuditingEnabled

    در صورت فعال بودن، Chrome پینگ های بازرسی را در صورت درخواست وب سایت ( <a ping> ) ارسال می کند. مقدار این اولویت از نوع boolean است و مقدار پیش فرض true است.

  • protectedContentEnabled

    فقط در Windows و ChromeOS موجود است : در صورت فعال بودن، Chrome یک شناسه منحصربه‌فرد برای افزونه‌ها به منظور اجرای محتوای محافظت شده ارائه می‌کند. مقدار این اولویت از نوع boolean است و مقدار پیش فرض true است.

  • referrers Enabled

    اگر فعال باشد، Chrome سرصفحه های referer را همراه با درخواست های شما ارسال می کند. بله، نام این اولویت با سرصفحه غلط املایی مطابقت ندارد. نه، ما آن را تغییر نمی دهیم. مقدار این اولویت از نوع boolean است و مقدار پیش فرض true است.

  • مرتبطWebsiteSetsEnabled
    Chrome 121+

    در صورت غیرفعال شدن، Related Website Sets غیرفعال می شود. مقدار این اولویت از نوع boolean است و مقدار پیش فرض true است. برنامه‌های افزودنی فقط می‌توانند این API را با تنظیم مقدار روی false غیرفعال کنند. اگر سعی کنید این API را روی true تنظیم کنید، با خطا مواجه می شود.

  • thirdPartyCookiesAllowed

    اگر غیرفعال باشد، Chrome سایت‌های شخص ثالث را از تنظیم کوکی‌ها مسدود می‌کند. مقدار این اولویت از نوع boolean است و مقدار پیش‌فرض true است.

  • موضوعات فعال شده است
    Chrome 111+

    اگر غیرفعال باشد، Topics API غیرفعال می شود. مقدار این اولویت از نوع boolean است و مقدار پیش‌فرض true است. برنامه‌های افزودنی فقط با تنظیم مقدار روی false می‌توانند این API را غیرفعال کنند. اگر سعی کنید این API را روی true تنظیم کنید، با خطا مواجه می شود.