الوصف
تحتوي واجهة برمجة التطبيقات chrome.types
على تعريفات أنواع 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
دالة
تظهر المَعلمة
callback
على النحو التالي:(details: object) => void
-
التفاصيل
عنصر
-
incognitoSpecific
boolean اختياري
تُستخدَم لتحديد ما إذا كانت القيمة التي تم تغييرها خاصة بجلسة التصفّح المتخفي. لن تظهر هذه السمة إلا إذا فعّل المستخدم الإضافة في وضع التصفّح المتخفي.
-
levelOfControl
مستوى التحكّم في الإعداد
-
القيمة
T
تمثّل هذه السمة قيمة الإعداد بعد التغيير.
-
-
-
-
محو
void
يمحو الإعداد، ويعيد أي قيمة تلقائية.
تبدو الدالة
clear
على النحو التالي:(details: object) => {...}
-
التفاصيل
عنصر
الإعدادات المطلوب محوها.
-
نطاق
ChromeSettingScope اختياري
مكان محو الإعداد (الإعداد التلقائي: عادي)
-
-
returns
Promise<void>
الإصدار 96 من Chrome والإصدارات الأحدث
-
-
الحصول على
void
تعرض هذه الطريقة قيمة أحد الإعدادات.
تبدو الدالة
get
على النحو التالي:(details: object) => {...}
-
التفاصيل
عنصر
الإعدادات التي يجب أخذها في الاعتبار
-
incognito
boolean اختياري
تحديد ما إذا كان سيتم عرض القيمة التي تنطبق على جلسة التصفّح المتخفي (القيمة التلقائية هي "خطأ").
-
-
returns
Promise<object>
الإصدار 96 من Chrome والإصدارات الأحدث
-
-
محدّدة
void
تضبط هذه السمة قيمة أحد الإعدادات.
تبدو الدالة
set
على النحو التالي:(details: object) => {...}
-
التفاصيل
عنصر
الإعداد الذي تريد تغييره
-
نطاق
ChromeSettingScope اختياري
مكان ضبط الإعداد (القيمة التلقائية: عادي).
-
القيمة
T
قيمة الإعداد. يُرجى العِلم أنّ كل إعداد له نوع قيمة محدّد، ويتم وصفه مع الإعداد. يجب ألا يضبط أحد الإضافات قيمة من نوع مختلف.
-
-
returns
Promise<void>
الإصدار 96 من Chrome والإصدارات الأحدث
-
ChromeSettingScope
نطاق ChromeSetting أحد
-
regular
: إعداد للملف الشخصي العادي (الذي يرثه ملف التصفُّح المتخفي إذا لم يتم إلغاؤه في مكان آخر) regular\_only
: إعداد للملف الشخصي العادي فقط (لا يرثه ملف التصفُّح المتخفي)incognito\_persistent
: إعداد لملف التصفّح المتخفي يظلّ محفوظًا حتى بعد إعادة تشغيل المتصفّح (يتجاوز الإعدادات المفضّلة العادية)،-
incognito\_session\_only
: إعداد لملف التصفّح المتخفي لا يمكن ضبطه إلا أثناء جلسة تصفّح متخفي ويتم حذفه عند انتهاء جلسة التصفّح المتخفي (يتجاوز الإعدادات المفضّلة العادية وincognito_persistent).
Enum
"regular"
"regular_only"
"incognito_persistent"
"incognito_session_only"
LevelOfControl
أحد
-
not\_controllable
: لا يمكن التحكّم فيه باستخدام أي إضافة -
controlled\_by\_other\_extensions
: يتم التحكّم فيها من خلال الإضافات ذات الأولوية الأعلى -
controllable\_by\_this\_extension
: يمكن التحكّم فيه من خلال هذه الإضافة -
controlled\_by\_this\_extension
: يتم التحكّم فيه من خلال هذه الإضافة
Enum
"not_controllable"
"controlled_by_other_extensions"
"controllable_by_this_extension"
"controlled_by_this_extension"