chrome.privacy

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

Chrome نسخه ۱۵۱ و بالاتر

دسته‌های داده‌های «تکمیل خودکار».

شمارشی

"contact_info"

«payments»

"identity_docs"

"travel"

«همه»

IPHandlingPolicy

Chrome نسخه ۴۸ به بالا

خط‌مشی رسیدگی به IP مربوط به WebRTC.

شمارشی

«پیش‌فرض»

"default_public_and_private_interfaces"

"default_public_interface_only"

"disable_non_proxied_udp"

مشخصات

network

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

نوع

شیء

مشخصات

  • networkPredictionEnabled

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

  • webRTCIPHandlingPolicy
    Chrome نسخه ۴۸ به بالا

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

services

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

نوع

شیء

مشخصات

  • alternateErrorPagesEnabled

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

  • autofillAddressEnabled
    Chrome نسخه ۷۰ به بالا

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

  • autofillCreditCardEnabled
    Chrome نسخه ۷۰ به بالا

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

  • autofillEnabled
    از 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 نسخه ۱۱۱ به بالا

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

  • doNotTrackEnabled
    Chrome نسخه ۶۵ و بالاتر

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

  • fledgeEnabled
    Chrome نسخه ۱۱۱ به بالا

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

  • hyperlinkAuditingEnabled

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

  • protectedContentEnabled

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

  • referrersEnabled

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

  • thirdPartyCookiesAllowed

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

    توجه: اگر سایت‌های تکی معافیت معتبری داشته باشند یا به‌جای آن از Storage Access API استفاده کنند، ممکن است همچنان بتوانند هنگام برگرداندن false توسط این API به کوکی‌های طرف سوم دسترسی داشته باشند.

  • topicsEnabled
    Chrome نسخه ۱۱۱ به بالا

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