browser.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

          قيمة منطقية اختيارية

          ما إذا كانت القيمة التي تم تغييرها خاصة بجلسة التصفّح المتخفي لن تظهر هذه السمة إلا إذا فعّل المستخدم الإضافة في وضع التصفّح المتخفي.

        • levelOfControl

          مستوى التحكّم في الإعداد

        • القيمة

          T

          قيمة الإعداد بعد التغيير

  • محو

    void

    لمحو الإعداد واستعادة أي قيمة تلقائية

    تبدو الدالة clear على النحو التالي:

    (details: object) => {...}

    • التفاصيل

      عنصر

      الإعدادات المراد محوها

      • نطاق

        ChromeSettingScope اختياري

        مكان محو الإعداد (الإعداد التلقائي: عادي)

    • returns

      وعد<فراغ>

      الإصدار 96 من Chrome والإصدارات الأحدث browser.* ‎ منذ الإصدار 148 من Chrome

      يتم استدعاؤها عند اكتمال عملية المسح.

  • الحصول على

    void

    للحصول على قيمة أحد الإعدادات

    تبدو الدالة get على النحو التالي:

    (details: object) => {...}

    • التفاصيل

      عنصر

      الإعدادات التي يجب أخذها في الاعتبار

      • incognito

        قيمة منطقية اختيارية

        ما إذا كان سيتم عرض القيمة التي تنطبق على جلسة التصفّح المتخفي (القيمة التلقائية هي "خطأ").

    • returns

      وعد<كائن>

      الإصدار 96 من Chrome والإصدارات الأحدث browser.* ‎ منذ الإصدار 148 من Chrome
  • محدّدة

    void

    تضبط قيمة أحد الإعدادات.

    تبدو الدالة set على النحو التالي:

    (details: object) => {...}

    • التفاصيل

      عنصر

      الإعدادات التي يجب تغييرها

      • نطاق

        ChromeSettingScope اختياري

        مكان ضبط الإعداد (الإعداد التلقائي: عادي)

      • القيمة

        T

        قيمة الإعداد يُرجى العِلم أنّ كل إعداد له نوع قيمة محدّد، ويتم وصفه مع الإعداد. يجب عدم ضبط قيمة من نوع مختلف في الإضافة.

    • returns

      وعد<فراغ>

      الإصدار 96 من Chrome والإصدارات الأحدث browser.* ‎ منذ الإصدار 148 من Chrome

      يتم استدعاؤها عند اكتمال عملية الضبط.

ChromeSettingScope

الإصدار 44 من Chrome والإصدارات الأحدث browser.* ‎ منذ الإصدار 148 من Chrome

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

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

Enum

"regular"

"regular_only"

"incognito_persistent"

"incognito_session_only"

LevelOfControl

الإصدار 44 من Chrome والإصدارات الأحدث browser.* ‎ منذ الإصدار 148 من Chrome

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

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