الوصف
تحتوي واجهة برمجة التطبيقات 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
تمثّل هذه السمة قيمة الإعداد بعد التغيير.
-
-
-
-
محو
باطل
الوعديمحو الإعداد، ويعيد أي قيمة تلقائية.
تبدو الدالة
clearعلى النحو التالي:(details: object, callback?: function) => {...}
-
التفاصيل
عنصر
الإعداد المطلوب محوه.
-
نطاق
ChromeSettingScope اختياري
مكان محو الإعداد (الإعداد التلقائي: عادي)
-
-
callback
الدالة اختيارية
تظهر المَعلمة
callbackعلى النحو التالي:() => void
-
returns
Promise<void>
الإصدار 96 من Chrome والإصدارات الأحدثيتم استدعاؤها عند اكتمال عملية المسح.
لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.
-
-
الحصول على
باطل
الوعدتعرض هذه الطريقة قيمة أحد الإعدادات.
تبدو الدالة
getعلى النحو التالي:(details: object, callback?: function) => {...}
-
التفاصيل
عنصر
الإعداد الذي يجب أخذه في الاعتبار
-
وضع التصفّح المتخفي
boolean اختياري
تحديد ما إذا كان سيتم عرض القيمة التي تنطبق على جلسة التصفّح المتخفي (القيمة التلقائية هي "خطأ").
-
-
callback
الدالة اختيارية
تظهر المَعلمة
callbackعلى النحو التالي:(details: object) => void
-
التفاصيل
عنصر
تفاصيل القيمة السارية حاليًا
-
incognitoSpecific
boolean اختياري
تُستخدَم لتحديد ما إذا كانت القيمة السارية خاصة بجلسة التصفّح المتخفي. لن تظهر هذه السمة إلا إذا كانت السمة
incognitoفي المَعلمةdetailsمنget()صحيحة. -
levelOfControl
مستوى التحكّم في الإعداد.
-
القيمة
T
قيمة الإعداد
-
-
-
returns
Promise<object>
الإصدار 96 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.
-
-
محدّدة
باطل
الوعدتضبط هذه السمة قيمة أحد الإعدادات.
تبدو الدالة
setعلى النحو التالي:(details: object, callback?: function) => {...}
-
التفاصيل
عنصر
الإعداد الذي تريد تغييره
-
نطاق
ChromeSettingScope اختياري
مكان ضبط الإعداد (القيمة التلقائية: عادي).
-
القيمة
T
قيمة الإعداد يُرجى العِلم أنّ كل إعداد له نوع قيمة محدّد، ويتم وصفه مع الإعداد. يجب ألا يضبط الامتداد قيمة من نوع مختلف.
-
-
callback
الدالة اختيارية
تظهر المَعلمة
callbackعلى النحو التالي:() => void
-
returns
Promise<void>
الإصدار 96 من Chrome والإصدارات الأحدثيتم استدعاء هذه الطريقة عند اكتمال عملية الضبط.
لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.
-
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"