توضیحات
chrome.types
API حاوی اعلانهای نوع برای Chrome است.
تنظیمات کروم
نمونه اولیه ChromeSetting
مجموعه مشترکی از توابع ( get()
، set()
و clear()
) و همچنین یک ناشر رویداد ( onChange
) را برای تنظیمات مرورگر 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) را تنظیم می کند، تنظیمات ویندوزهای معمولی را می توان با افزونه های نصب شده قبلی تعریف کرد.
ارزش مؤثر یک تنظیم، ارزشی است که از در نظر گرفتن قوانین تقدم حاصل می شود. کروم از آن استفاده می کند.
انواع
ChromeSetting
رابطی که امکان دسترسی به تنظیمات مرورگر کروم را فراهم می کند. برای مثال accessibilityFeatures
مراجعه کنید.
خواص
- در تغییر
رویداد<functionvoidvoid>
پس از تغییر تنظیمات فعال شد.
تابع
onChange.addListener
به نظر می رسد:(callback: function) => {...}
- پاسخ به تماس
تابع
پارامتر
callback
به نظر می رسد:(details: object) => void
- جزئیات
شی
- incognitoSpecific
بولی اختیاری
آیا مقداری که تغییر کرده است مختص جلسه ناشناس است یا خیر. این ویژگی تنها در صورتی وجود خواهد داشت که کاربر برنامه افزودنی را در حالت ناشناس فعال کرده باشد.
- levelOfControl
سطح کنترل تنظیمات.
- ارزش
تی
مقدار تنظیم پس از تغییر.
- روشن
باطل
قول بدهتنظیمات را پاک می کند و هر مقدار پیش فرض را بازیابی می کند.
تابع
clear
به نظر می رسد:(details: object, callback?: function) => {...}
- جزئیات
شی
کدام تنظیم پاک شود.
- دامنه
ChromeSettingScope اختیاری است
محل پاک کردن تنظیمات (پیشفرض: معمولی).
- پاسخ به تماس
عملکرد اختیاری
پارامتر
callback
به نظر می رسد:() => void
- برمی گرداند
قول<باطل>
Chrome 96+Promises فقط برای Manifest V3 و نسخههای جدیدتر پشتیبانی میشود، پلتفرمهای دیگر باید از callback استفاده کنند.
- دریافت کنید
باطل
قول بدهارزش یک تنظیم را دریافت می کند.
تابع
get
به نظر می رسد:(details: object, callback?: function) => {...}
- جزئیات
شی
کدام تنظیم را در نظر بگیرید.
- ناشناس
بولی اختیاری
آیا باید مقداری را که برای جلسه ناشناس اعمال میشود برگرداند (نادرست پیشفرض).
- پاسخ به تماس
عملکرد اختیاری
پارامتر
callback
به نظر می رسد:(details: object) => void
- جزئیات
شی
جزئیات ارزش فعلی موثر.
- incognitoSpecific
بولی اختیاری
اینکه آیا مقدار مؤثر مختص جلسه ناشناس است. این ویژگی فقط در صورتی وجود خواهد داشت که خاصیت
incognito
در پارامترdetails
get()
درست باشد. - levelOfControl
سطح کنترل تنظیمات.
- ارزش
تی
ارزش تنظیم.
- برمی گرداند
قول<object>
Chrome 96+Promises فقط برای Manifest V3 و نسخههای جدیدتر پشتیبانی میشود، پلتفرمهای دیگر باید از callback استفاده کنند.
- مجموعه
باطل
قول بدهمقدار یک تنظیم را تعیین می کند.
تابع
set
به نظر می رسد:(details: object, callback?: function) => {...}
- جزئیات
شی
کدام تنظیم را تغییر دهید.
- دامنه
ChromeSettingScope اختیاری است
محل تنظیم تنظیمات (پیشفرض: معمولی).
- ارزش
تی
ارزش تنظیم. توجه داشته باشید که هر تنظیم دارای یک نوع مقدار خاص است که همراه با تنظیم توضیح داده شده است. یک برنامه افزودنی نباید مقداری از نوع متفاوت تنظیم کند.
- پاسخ به تماس
عملکرد اختیاری
پارامتر
callback
به نظر می رسد:() => void
- برمی گرداند
قول<باطل>
Chrome 96+Promises فقط برای Manifest V3 و نسخههای جدیدتر پشتیبانی میشود، پلتفرمهای دیگر باید از callback استفاده کنند.
ChromeSettingScope
محدوده ChromeSetting. یکی از
-
regular
: تنظیم برای نمایه معمولی (که اگر در جای دیگری لغو نشود توسط نمایه ناشناس به ارث می رسد) -
regular\_only
: تنظیم فقط برای نمایه معمولی (که توسط نمایه ناشناس به ارث نمی رسد)، -
incognito\_persistent
: تنظیم نمایه ناشناس که از راهاندازی مجدد مرورگر جان سالم به در میبرد (اولویتهای معمولی را نادیده میگیرد)، -
incognito\_session\_only
: تنظیمی برای نمایه ناشناس که فقط در طول جلسه ناشناس تنظیم میشود و با پایان جلسه ناشناس حذف میشود (اولویتهای معمولی و ناشناس را نادیده میگیرد).
Enum
"عادی" "فقط_عادی" "مداوم_ناشناس" "oncognito_session_only"
LevelOfControl
یکی از
-
not\_controllable
: توسط هیچ برنامه افزودنی قابل کنترل نیست -
controlled\_by\_other\_extensions
: توسط برنامههای افزودنی با اولویت بالاتر کنترل میشود -
controllable\_by\_this\_extension
: توسط این افزونه قابل کنترل است -
controlled\_by\_this\_extension
: توسط این افزونه کنترل می شود
Enum
"not_controlable" "controlled_by_other_extensions" "controlable_by_this_extension" "controlled_by_this_extension"