chrome.browserAction

الوصف

استخدِم إجراءات المتصفّح لوضع الرموز في شريط أدوات Google Chrome الرئيسي على يسار شريط العناوين. بالإضافة إلى الرمز، يمكن أن يتضمّن إجراء المتصفّح تلميحًا وشارة ونافذة منبثقة.

مدى التوفّر

≤ MV2

في الشكل التالي، المربّع المتعدد الألوان على يسار شريط العناوين هو رمز إجراء المتصفّح. يظهر عنصر منبثق أسفل الرمز.

إذا كنت تريد إنشاء رمز ليس نشطًا دائمًا، استخدِم إجراء صفحة بدلاً من إجراء متصفّح.

البيان

سجِّل إجراء المتصفّح في بيان الإضافة على النحو التالي:

{
  "name": "My extension",
  ...
  "browser_action": {
    "default_icon": {                // optional
      "16": "images/icon16.png",     // optional
      "24": "images/icon24.png",     // optional
      "32": "images/icon32.png"      // optional
    },
    "default_title": "Google Mail",  // optional, shown in tooltip
    "default_popup": "popup.html"    // optional
  },
  ...
}

يمكنك تقديم رمز بأي حجم لاستخدامه في Chrome، وسيختار Chrome الرمز الأقرب حجمًا ويغيّر حجمه ليناسب المساحة التي تبلغ 16 وحدة مستقلة الكثافة. ومع ذلك، إذا لم يتم توفير الحجم الدقيق، قد يؤدي هذا التغيير في الحجم إلى فقدان تفاصيل الرمز أو ظهوره بشكل غير واضح.

بما أنّ الأجهزة التي تستخدم عوامل قياس أقل شيوعًا، مثل 1.5x أو 1.2x، أصبحت أكثر انتشارًا، ننصحك بتوفير أحجام متعددة للرموز. ويضمن ذلك أيضًا أنّه إذا تم تغيير حجم عرض الرمز في أي وقت، لن تحتاج إلى بذل أي جهد إضافي لتوفير رموز مختلفة.

لا تزال البنية القديمة لتسجيل الرمز التلقائي متاحة:

{
  "name": "My extension",
  ...
  "browser_action": {
    ...
    "default_icon": "images/icon32.png"  // optional
    // equivalent to "default_icon": { "32": "images/icon32.png" }
  },
  ...
}

أجزاء واجهة المستخدم

يمكن أن يتضمّن إجراء المتصفّح رمزًا وتلميحًا وشارة ونافذة منبثقة.

رمز

يبلغ عرض وارتفاع رموز إجراءات المتصفّح في Chrome 16 وحدة dip (بكسل مستقل عن الجهاز). يتم تغيير حجم الرموز الأكبر لتناسب المساحة المتاحة، ولكن للحصول على أفضل النتائج، استخدِم رمزًا مربّعًا بحجم 16 وحدة مستقلة الكثافة.

يمكنك ضبط الرمز بطريقتَين: باستخدام صورة ثابتة أو باستخدام عنصر لوحة الرسم في HTML5. يُعد استخدام الصور الثابتة أسهل للتطبيقات البسيطة، ولكن يمكنك إنشاء واجهات مستخدم أكثر ديناميكية، مثل الرسوم المتحركة السلسة، باستخدام عنصر اللوحة.

يمكن أن تكون الصور الثابتة بأي تنسيق يمكن أن يعرضه WebKit، بما في ذلك BMP أو GIF أو ICO أو JPEG أو PNG. بالنسبة إلى الإضافات غير المضغوطة، يجب أن تكون الصور بتنسيق PNG.

لضبط الرمز، استخدِم الحقل default_icon الخاص بـ browser_action في ملف البيان، أو استدعِ الطريقة browserAction.setIcon.

لعرض الرمز بشكل صحيح عندما تكون كثافة وحدات البكسل في الشاشة (النسبة size_in_pixel / size_in_dip) مختلفة عن 1، يمكن تعريف الرمز على أنّه مجموعة من الصور بأحجام مختلفة. سيتم اختيار الصورة الفعلية التي سيتم عرضها من المجموعة لتناسب حجم البكسل البالغ 16 وحدة مستقلة عن الكثافة على أفضل وجه. يمكن أن تحتوي مجموعة الرموز على أي مواصفات لحجم الرمز، وسيختار Chrome الرمز الأنسب.

تلميح

لضبط تلميح الأدوات، استخدِم الحقل default_title الخاص بـ browser_action في البيان، أو استدعِ الدالة browserAction.setTitle. يمكنك تحديد سلاسل خاصة باللغة المحلية لحقل default_title. راجِع مقالة الانتشار على نطاق عالمي للحصول على التفاصيل.

الشارة

يمكن أن تعرض إجراءات المتصفّح اختياريًا شارة، وهي عبارة عن نص صغير يتم وضعه فوق الرمز. تسهّل الشارات تعديل إجراء المتصفّح لعرض كمية صغيرة من المعلومات حول حالة الإضافة.

بما أنّ المساحة المتاحة في الشارة محدودة، يجب أن تتضمّن 4 أحرف أو أقل.

اضبط النص ولون الشارة باستخدام browserAction.setBadgeText وbrowserAction.setBadgeBackgroundColor على التوالي.

إذا كان إجراء المتصفّح يتضمّن نافذة منبثقة، ستظهر النافذة المنبثقة عندما ينقر المستخدم على رمز الإضافة. يمكن أن يحتوي النافذة المنبثقة على أي محتوى HTML تريده، ويتم تغيير حجمها تلقائيًا لتلائم محتواها. يجب ألا يقلّ حجم النافذة المنبثقة عن 25x25 وألا يزيد عن 800x600.

لإضافة نافذة منبثقة إلى إجراء المتصفّح، أنشئ ملف HTML يتضمّن محتوى النافذة المنبثقة. حدِّد ملف HTML في الحقل default_popup الخاص بـ browser_action في manifest، أو استدعِ طريقة browserAction.setPopup.

نصائح

للحصول على أفضل تأثير مرئي، اتّبِع الإرشادات التالية:

  • استخدِم إجراءات المتصفّح للميزات التي تكون منطقية في معظم الصفحات.
  • لا تستخدِم إجراءات المتصفّح للميزات التي لا تكون منطقية إلا لعدد قليل من الصفحات. استخدِم إجراءات الصفحة بدلاً من ذلك.
  • استخدِم رموزًا كبيرة وملوّنة تستفيد إلى أقصى حدّ من مساحة 16×16 وحدة مستقلة عن الكثافة. يجب أن تبدو رموز إجراءات المتصفح أكبر حجمًا وأكثر وضوحًا من رموز إجراءات الصفحة.
  • لا تحاول تقليد رمز القائمة أحادي اللون في Google Chrome. ولا يتوافق ذلك مع المظاهر، كما أنّ الإضافات يجب أن تكون مميزة بعض الشيء.
  • استخدِم شفافية ألفا لإضافة حواف ناعمة إلى الرمز. بما أنّ العديد من المستخدمين يستعينون بالمظاهر، يجب أن يبدو الرمز جميلاً على مجموعة متنوعة من ألوان الخلفية.
  • لا تحرِّك الرمز باستمرار. هذا مزعج فقط.

أمثلة

يمكنك العثور على أمثلة بسيطة لاستخدام إجراءات المتصفّح في الدليل examples/api/browserAction. للاطّلاع على أمثلة أخرى وللحصول على مساعدة في عرض رمز المصدر، يُرجى الاطّلاع على الأمثلة.

الأنواع

TabDetails

الإصدار 88 من Chrome والإصدارات الأحدث

الخصائص

  • tabId

    number اختياري

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

الطُرق

disable()

الوعد
chrome.browserAction.disable(
  tabId?: number,
  callback?: function,
)
: Promise<void>

توقف هذه السمة إجراء المتصفّح لعلامة تبويب.

المعلمات

  • tabId

    number اختياري

    رقم تعريف علامة التبويب التي سيتم تعديل إجراء المتصفّح لها.

  • callback

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

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

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • Promise<void>

    الإصدار 88 من Chrome والإصدارات الأحدث

    لا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.

enable()

الوعد
chrome.browserAction.enable(
  tabId?: number,
  callback?: function,
)
: Promise<void>

تتيح هذه السمة إجراء المتصفّح لعلامة تبويب. يكون هذا الخيار مفعّلاً تلقائيًا.

المعلمات

  • tabId

    number اختياري

    رقم تعريف علامة التبويب التي سيتم تعديل إجراء المتصفّح لها.

  • callback

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

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

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • Promise<void>

    الإصدار 88 من Chrome والإصدارات الأحدث

    لا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.

getBadgeBackgroundColor()

الوعد
chrome.browserAction.getBadgeBackgroundColor(
  details: TabDetails,
  callback?: function,
)
: Promise<extensionTypes.ColorArray>

تعرض هذه الدالة لون خلفية إجراء المتصفّح.

المعلمات

  • التفاصيل
  • callback

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

    تظهر المَعلمة callback على النحو التالي:

    (result: ColorArray) => void

المرتجعات

  • الإصدار 88 من Chrome والإصدارات الأحدث

    لا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.

getBadgeText()

الوعد
chrome.browserAction.getBadgeText(
  details: TabDetails,
  callback?: function,
)
: Promise<string>

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

المعلمات

  • التفاصيل
  • callback

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

    تظهر المَعلمة callback على النحو التالي:

    (result: string) => void

    • نتيجة

      سلسلة

المرتجعات

  • Promise<string>

    الإصدار 88 من Chrome والإصدارات الأحدث

    لا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.

getPopup()

الوعد
chrome.browserAction.getPopup(
  details: TabDetails,
  callback?: function,
)
: Promise<string>

تعرض هذه الدالة مستند HTML الذي تم ضبطه كنافذة منبثقة لإجراء المتصفّح هذا.

المعلمات

  • التفاصيل
  • callback

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

    تظهر المَعلمة callback على النحو التالي:

    (result: string) => void

    • نتيجة

      سلسلة

المرتجعات

  • Promise<string>

    الإصدار 88 من Chrome والإصدارات الأحدث

    لا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.

getTitle()

الوعد
chrome.browserAction.getTitle(
  details: TabDetails,
  callback?: function,
)
: Promise<string>

تعرض هذه السمة عنوان إجراء المتصفّح.

المعلمات

  • التفاصيل
  • callback

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

    تظهر المَعلمة callback على النحو التالي:

    (result: string) => void

    • نتيجة

      سلسلة

المرتجعات

  • Promise<string>

    الإصدار 88 من Chrome والإصدارات الأحدث

    لا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.

setBadgeBackgroundColor()

الوعد
chrome.browserAction.setBadgeBackgroundColor(
  details: object,
  callback?: function,
)
: Promise<void>

تضبط هذه السمة لون الخلفية للشارة.

المعلمات

  • التفاصيل

    عنصر

    • اللون

      string | ColorArray

      مصفوفة من أربعة أعداد صحيحة في النطاق 0-255 تشكّل لون RGBA للشارة. يمكن أن تكون أيضًا سلسلة تتضمّن قيمة لون سداسي عشري بتنسيق CSS، مثل #FF0000 أو #F00 (أحمر). تعرض الألوان بدرجة تعتيم كاملة.

    • tabId

      number اختياري

      يقتصر التغيير على وقت تحديد علامة تبويب معيّنة. تتم إعادة ضبطها تلقائيًا عند إغلاق علامة التبويب.

  • callback

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

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

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • Promise<void>

    الإصدار 88 من Chrome والإصدارات الأحدث

    لا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.

setBadgeText()

الوعد
chrome.browserAction.setBadgeText(
  details: object,
  callback?: function,
)
: Promise<void>

تضبط هذه السمة نص الشارة لإجراء المتصفّح. يظهر الشعار فوق الرمز.

المعلمات

  • التفاصيل

    عنصر

    • tabId

      number اختياري

      يقتصر التغيير على وقت تحديد علامة تبويب معيّنة. تتم إعادة ضبطها تلقائيًا عند إغلاق علامة التبويب.

    • نص

      سلسلة اختيارية

      يمكن تمرير أي عدد من الأحرف، ولكن يمكن أن يتسع المكان لأربعة أحرف فقط. إذا تم تمرير سلسلة فارغة ('')، سيتم محو نص الشارة. في حال تحديد tabId وكانت قيمة text فارغة، سيتم محو النص الخاص بعلامة التبويب المحدّدة وسيتم ضبطه تلقائيًا على نص الشارة العام.

  • callback

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

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

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • Promise<void>

    الإصدار 88 من Chrome والإصدارات الأحدث

    لا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.

setIcon()

الوعد
chrome.browserAction.setIcon(
  details: object,
  callback?: function,
)
: Promise<void>

تضبط هذه السمة رمز إجراء المتصفّح. يمكن تحديد الرمز كمسار إلى ملف صورة، أو كبيانات البكسل من عنصر لوحة عرض، أو كقاموس لأحد هذين الخيارين. يجب تحديد السمة path أو السمة imageData.

المعلمات

  • التفاصيل

    عنصر

    • imageData

      ImageData | object اختياري

      إما كائن ImageData أو قاموس {size -> ImageData} يمثّل رمزًا سيتم ضبطه. إذا تم تحديد الرمز كقاموس، يتم اختيار الصورة المستخدَمة استنادًا إلى كثافة وحدات البكسل في الشاشة. إذا كان عدد وحدات البكسل في الصورة التي تتناسب مع وحدة واحدة من مساحة الشاشة يساوي scale، يتم اختيار صورة بحجم scale * n، حيث يمثل n حجم الرمز في واجهة المستخدم. يجب تحديد صورة واحدة على الأقل. يُرجى العِلم أنّ العبارة "details.imageData = foo" تعادل العبارة "details.imageData = {‎'16': foo}".

    • المسار

      string | object اختيارية

      إما مسار صورة نسبي أو قاموس {الحجم -> مسار صورة نسبي} يشير إلى رمز سيتم ضبطه. إذا تم تحديد الرمز كقاموس، يتم اختيار الصورة المستخدَمة استنادًا إلى كثافة وحدات البكسل في الشاشة. إذا كان عدد وحدات البكسل في الصورة التي تتناسب مع وحدة واحدة من مساحة الشاشة يساوي scale، يتم اختيار صورة بحجم scale * n، حيث يمثل n حجم الرمز في واجهة المستخدم. يجب تحديد صورة واحدة على الأقل. يُرجى العِلم أنّ "details.path = foo" تعادل "details.path = {‎'16': foo}"

    • tabId

      number اختياري

      يقتصر التغيير على وقت تحديد علامة تبويب معيّنة. تتم إعادة ضبطها تلقائيًا عند إغلاق علامة التبويب.

  • callback

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

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • Promise<void>

    الإصدار 116 من Chrome والإصدارات الأحدث

    لا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.

setPopup()

الوعد
chrome.browserAction.setPopup(
  details: object,
  callback?: function,
)
: Promise<void>

تضبط مستند HTML ليتم فتحه كنافذة منبثقة عندما ينقر المستخدم على رمز إجراء المتصفّح.

المعلمات

  • التفاصيل

    عنصر

    • نافذة منبثقة

      سلسلة

      المسار النسبي إلى ملف HTML الذي سيتم عرضه في نافذة منبثقة. إذا تم ضبطها على السلسلة الفارغة ('')، لن يتم عرض أي نافذة منبثقة.

    • tabId

      number اختياري

      يقتصر التغيير على وقت تحديد علامة تبويب معيّنة. تتم إعادة ضبطها تلقائيًا عند إغلاق علامة التبويب.

  • callback

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

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

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • Promise<void>

    الإصدار 88 من Chrome والإصدارات الأحدث

    لا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.

setTitle()

الوعد
chrome.browserAction.setTitle(
  details: object,
  callback?: function,
)
: Promise<void>

تضبط هذه السمة عنوان إجراء المتصفّح. يظهر هذا العنوان في تلميح الأداة.

المعلمات

  • التفاصيل

    عنصر

    • tabId

      number اختياري

      يقتصر التغيير على وقت تحديد علامة تبويب معيّنة. تتم إعادة ضبطها تلقائيًا عند إغلاق علامة التبويب.

    • title

      سلسلة

      السلسلة التي يجب أن يعرضها إجراء المتصفّح عند تمرير مؤشر الماوس فوقه.

  • callback

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

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

    تظهر المَعلمة callback على النحو التالي:

    () => void

المرتجعات

  • Promise<void>

    الإصدار 88 من Chrome والإصدارات الأحدث

    لا تتوافق الوعود إلا مع الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.

الفعاليات

onClicked

chrome.browserAction.onClicked.addListener(
  callback: function,
)

يتم تشغيله عند النقر على رمز إجراء المتصفّح. لا يتم تنشيطه إذا كان لإجراء المتصفّح نافذة منبثقة.

المعلمات

  • callback

    دالة

    تظهر المَعلمة callback على النحو التالي:

    (tab: tabs.Tab) => void