شرح
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 تنظیمات را در لایههای مختلف مدیریت میکند. فهرست زیر لایههایی را که ممکن است بر تنظیمات مؤثر تأثیر بگذارند، بهترتیب صعودی اولویت شرح میدهد.
- تنظیمات سیستم ارائهشده توسط سیستمعامل
- پارامترهای خط فرمان
- تنظیمات ارائهشده توسط افزونهها
- خطمشیها
همانطور که از فهرست مشخص است، خطمشیها ممکن است هر تغییری را که با افزونهتان مشخص میکنید لغو کنند. میتوانید
از تابع 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) => {...}
-
جزئیات
شیء
کدام تنظیم پاک شود.
-
محدوده
ChromeSettingScope اختیاری
محل پاک کردن تنظیم (پیشفرض: معمولی).
-
-
returns
Promise<void>
Chrome نسخه ۹۶ و بالاتر browser.* از Chrome نسخه ۱۴۸در پایان عملیات پاکسازی فراخوانی میشود.
-
-
دریافت
باطل کردن
مقدار تنظیم را دریافت میکند.
تابع
getبهصورت زیر است:(details: object) => {...}
-
جزئیات
شیء
کدام تنظیم درنظر گرفته شود.
-
ناشناس
بولی اختیاری
آیا مقداری که برای جلسه ناشناس اعمال میشود برگردانده شود (پیشفرض نادرست).
-
-
returns
Promise<object>
Chrome نسخه ۹۶ و بالاتر browser.* از Chrome نسخه ۱۴۸
-
-
تنظیم
باطل کردن
مقدار تنظیم را تعیین میکند.
تابع
setبهصورت زیر است:(details: object) => {...}
-
جزئیات
شیء
کدام تنظیم را تغییر دهید.
-
محدوده
ChromeSettingScope اختیاری
محل تنظیم کردن تنظیمات (پیشفرض: معمولی).
-
مقدار
T
مقدار تنظیم. توجه داشته باشید که هر تنظیم نوع مقدار خاصی دارد که همراه با تنظیم شرح داده شده است. افزونه نباید مقداری از نوع دیگر تنظیم کند.
-
-
returns
Promise<void>
Chrome نسخه ۹۶ و بالاتر browser.* از Chrome نسخه ۱۴۸در پایان عملیات تنظیم فراخوانی میشود.
-
ChromeSettingScope
دامنه ChromeSetting. یکی از
regular: تنظیمات نمایه معمولی (که اگر در جای دیگری لغو نشود، توسط نمایه ناشناس به ارث برده میشود)،regular\_only: تنظیم فقط برای نمایه معمولی (از نمایه ناشناس به ارث برده نمیشود)،-
incognito\_persistent: تنظیمات نمایه ناشناس که پساز بازراهاندازی مرورگر باقی میماند (اولویتهای عادی را لغو میکند)، incognito\_session\_only: تنظیم برای نمایه ناشناس که فقط درطول جلسه ناشناس میتواند تنظیم شود و با پایان یافتن جلسه ناشناس حذف میشود (اولویتهای معمولی و incognito_persistent را لغو میکند).
شمارشی
«معمولی»
"regular_only"
"incognito_persistent"
"incognito_session_only"
LevelOfControl
یکی از
-
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"