chrome.types

الوصف

تحتوي واجهة برمجة التطبيقات 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 الإعدادات على مستويات مختلفة. توضّح القائمة التالية الطبقات التي قد تؤثّر في الإعدادات الفعّالة، وذلك بترتيب تصاعدي حسب الأولوية.

  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

      دالة

      تظهر المَعلمة 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

Chrome 44 والإصدارات الأحدث

نطاق ChromeSetting أحد الخيارات التالية

  • regular: إعدادات الملف الشخصي العادي (التي يرثها ملف التصفّح المتخفي إذا لم يتم إلغاؤها في مكان آخر)
  • regular\_only: إعداد للملف الشخصي العادي فقط (لا يرثه ملف التصفّح المتخفي)
  • incognito\_persistent: إعداد لملف التصفّح المتخفي يظلّ ساريًا حتى بعد إعادة تشغيل المتصفّح (يتجاوز الإعدادات المفضّلة العادية)،
  • incognito\_session\_only: إعداد لملف التصفّح المتخفي لا يمكن ضبطه إلا أثناء جلسة تصفّح متخفي ويتم حذفه عند انتهاء جلسة التصفّح المتخفي (يتجاوز الإعدادات المفضّلة العادية وإعدادات incognito_persistent).

Enum

"regular"

"regular_only"

"incognito_persistent"

"incognito_session_only"

LevelOfControl

Chrome 44 والإصدارات الأحدث

أحد الخيارات التالية

  • 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"