chrome.types

refresh date: 2026-09-25 robots: noindex

شرح

chrome.types API حاوی اعلان‌های نوع برای Chrome است.

تنظیمات Chrome

نمونه اولیه ChromeSetting مجموعه‌ای مشترک از توابع (get()، set()، و clear()) و همچنین یک ناشر رویداد (onChange) برای تنظیمات مرورگر Chrome ارائه می‌دهد. نمونه‌های تنظیمات پراکسی نشان می‌دهند که این توابع چگونه باید استفاده شوند.

حوزه و چرخه زندگی

Chrome بین سه محدوده مختلف تنظیمات مرورگر تمایز قائل می‌شود:

regular
تنظیمات تعیین‌شده در حوزه regular بر پنجره‌های معمولی مرورگر اعمال می‌شود و اگر بازنویسی نشود، پنجره‌های ناشناس آن را به‌ارث می‌برند. این تنظیمات در دیسک ذخیره می‌شوند و تا زمانی‌که توسط افزونه حاکم پاک شوند یا افزونه حاکم غیرفعال یا حذف نصب شود، در جای خود باقی می‌مانند.
incognito_persistent
تنظیمات تعیین‌شده در حوزه incognito_persistent فقط برای پنجره‌های ناشناس اعمال می‌شود. برای این موارد، تنظیمات regular را لغو می‌کنند. این تنظیمات در دیسک ذخیره می‌شوند و تا زمانی که توسط افزونه حاکم پاک شوند، یا افزونه حاکم غیرفعال یا حذف نصب شود، در جای خود باقی می‌مانند.
incognito_session_only
تنظیمات تعیین‌شده در حوزه incognito_session_only فقط برای پنجره‌های ناشناس اعمال می‌شود. برای این موارد، تنظیمات regular و incognito_persistent را لغو می‌کنند. این تنظیمات در دیسک ذخیره نمی‌شوند و وقتی آخرین پنجره ناشناس بسته شود، پاک می‌شوند. این تنظیمات فقط زمانی قابل‌تنظیم است که حداقل یک پنجره ناشناس باز باشد.

تقدم

Chrome تنظیمات را در لایه‌های مختلف مدیریت می‌کند. فهرست زیر لایه‌هایی را که ممکن است بر تنظیمات مؤثر تأثیر بگذارند، به‌ترتیب صعودی اولویت شرح می‌دهد.

  1. تنظیمات سیستم ارائه‌شده توسط سیستم‌عامل
  2. پارامترهای خط فرمان
  3. تنظیمات ارائه‌شده توسط افزونه‌ها
  4. خط‌مشی‌ها

همان‌طور که از فهرست مشخص است، خط‌مشی‌ها ممکن است هر تغییری را که با افزونه‌تان مشخص می‌کنید لغو کنند. می‌توانید از تابع get() استفاده کنید تا تعیین کنید آیا افزونه شما قادر به ارائه تنظیمات است یا اینکه این تنظیمات لغو خواهد شد.

همان‌طور که در بالا توضیح داده شد، Chrome اجازه می‌دهد از تنظیمات مختلفی برای پنجره‌های معمولی و پنجره‌های ناشناس استفاده شود. مثال زیر این رفتار را نشان می‌دهد. فرض کنید هیچ خط‌مشی‌ای تنظیمات را لغو نمی‌کند و افزونه می‌تواند تنظیمات را برای پنجره‌های معمولی (R) و تنظیمات را برای پنجره‌های ناشناس (I) تنظیم کند.

  • اگر فقط (R) تنظیم شده باشد، این تنظیمات هم برای پنجره‌های معمولی و هم برای پنجره‌های ناشناس مؤثر است.
  • اگر فقط (I) تنظیم شده باشد، این تنظیمات فقط برای پنجره‌های ناشناس مؤثر است. پنجره‌های معمولی از تنظیمات تعیین‌شده توسط لایه‌های پایین‌تر (گزینه‌های خط فرمان و تنظیمات سیستم) استفاده می‌کنند.
  • اگر هر دو (R) و (I) تنظیم شده باشند، تنظیمات مربوطه برای پنجره‌های معمولی و ناشناس استفاده می‌شود.

اگر دو یا چند افزونه بخواهند تنظیم یکسانی را روی مقادیر متفاوتی تنظیم کنند، افزونه‌ای که اخیراً نصب شده است بر افزونه‌های دیگر اولویت دارد. اگر افزونه‌ای که اخیراً نصب شده است فقط (I) را تنظیم کند، تنظیمات پنجره‌های معمولی را می‌توان با افزونه‌هایی که قبلاً نصب شده‌اند تعریف کرد.

مقدار مؤثر تنظیم مقداری است که از درنظر گرفتن قوانین تقدم حاصل می‌شود. Chrome از آن استفاده می‌کند.

انواع

ChromeSetting

میانایی که امکان دسترسی به تنظیمات مرورگر Chrome را فراهم می‌کند. برای نمونه، accessibilityFeatures را ببینید.

مشخصات

  • onChange

    Event<functionvoidvoid>

    پس‌از تغییر تنظیمات فعال می‌شود.

    تابع onChange.addListener به‌صورت زیر است:

    (callback: function) => {...}

    • تماس برگشتی

      عملکرد

      پارامتر callback به‌صورت زیر است:

      (details: object) => void

      • جزئیات

        شیء

        • incognitoSpecific

          بولی اختیاری

          اینکه آیا مقدار تغییریافته مختص جلسه ناشناس است یا نه. این ویژگی فقط درصورتی وجود خواهد داشت که کاربر افزونه را در حالت ناشناس فعال کرده باشد.

        • levelOfControl

          سطح کنترل تنظیم.

        • مقدار

          T

          مقدار تنظیم پس‌از تغییر.

  • پاک کردن

    باطل کردن

    قول

    تنظیم را پاک می‌کند و هر مقدار پیش‌فرضی را بازیابی می‌کند.

    تابع clear به‌صورت زیر است:

    (details: object, callback?: function) => {...}

    • جزئیات

      شیء

      کدام تنظیم پاک شود.

      • محدوده

        ChromeSettingScope اختیاری

        محل پاک کردن تنظیم (پیش‌فرض: معمولی).

    • تماس برگشتی

      تابع اختیاری

      پارامتر callback به‌صورت زیر است:

      () => void

    • returns

      Promise<void>

      Chrome نسخه ۹۶ به بالا

      در پایان عملیات پاک‌سازی فراخوانی می‌شود.

      ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

  • دریافت

    باطل کردن

    قول

    مقدار تنظیم را دریافت می‌کند.

    تابع get به‌صورت زیر است:

    (details: object, callback?: function) => {...}

    • جزئیات

      شیء

      کدام تنظیم درنظر گرفته شود.

      • ناشناس

        بولی اختیاری

        آیا مقداری که برای جلسه ناشناس اعمال می‌شود برگردانده شود (پیش‌فرض نادرست).

    • تماس برگشتی

      تابع اختیاری

      پارامتر callback به‌صورت زیر است:

      (details: object) => void

      • جزئیات

        شیء

        جزئیات مقدار مؤثر فعلی.

        • incognitoSpecific

          بولی اختیاری

          اینکه آیا مقدار مؤثر مختص جلسه ناشناس است یا نه. این ویژگی فقط درصورتی وجود خواهد داشت که ویژگی incognito در پارامتر details از get() درست باشد.

        • levelOfControl

          سطح کنترل تنظیم.

        • مقدار

          T

          مقدار تنظیم.

    • returns

      Promise<object>

      Chrome نسخه ۹۶ به بالا

      ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

  • تنظیم

    باطل کردن

    قول

    مقدار تنظیم را تعیین می‌کند.

    تابع set به‌صورت زیر است:

    (details: object, callback?: function) => {...}

    • جزئیات

      شیء

      کدام تنظیم را تغییر دهید.

      • محدوده

        ChromeSettingScope اختیاری

        محل تنظیم کردن تنظیمات (پیش‌فرض: معمولی).

      • مقدار

        T

        مقدار تنظیم. توجه داشته باشید که هر تنظیم نوع مقدار خاصی دارد که همراه با تنظیم شرح داده شده است. افزونه نباید مقداری از نوع دیگر تنظیم کند.

    • تماس برگشتی

      تابع اختیاری

      پارامتر callback به‌صورت زیر است:

      () => void

    • returns

      Promise<void>

      Chrome نسخه ۹۶ به بالا

      در پایان عملیات تنظیم فراخوانی می‌شود.

      ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

ChromeSettingScope

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

دامنه ChromeSetting. یکی از

  • regular: تنظیمات نمایه معمولی (که اگر در جای دیگری لغو نشود، توسط نمایه ناشناس به ارث برده می‌شود)،
  • regular\_only: تنظیم فقط برای نمایه معمولی (از نمایه ناشناس به ارث برده نمی‌شود)،
  • ‫incognito\_persistent: تنظیمات نمایه ناشناس که پس‌از بازراه‌اندازی مرورگر باقی می‌ماند (اولویت‌های عادی را لغو می‌کند)،
  • incognito\_session\_only: تنظیم برای نمایه ناشناس که فقط درطول جلسه ناشناس می‌تواند تنظیم شود و با پایان یافتن جلسه ناشناس حذف می‌شود (اولویت‌های معمولی و incognito_persistent را لغو می‌کند).

شمارشی

«معمولی»

"regular_only"

"incognito_persistent"

"incognito_session_only"

LevelOfControl

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

یکی از

  • ‫not\_controllable: هیچ افزونه‌ای نمی‌تواند آن را کنترل کند
  • ‫controlled\_by\_other\_extensions: توسط افزونه‌هایی با اولویت بالاتر کنترل می‌شود
  • controllable\_by\_this\_extension: می‌تواند توسط این افزونه کنترل شود
  • controlled\_by\_this\_extension: تحت کنترل این افزونه

شمارشی

"not_controllable"

"controlled_by_other_extensions"

"controllable_by_this_extension"

"controlled_by_this_extension"