chrome.browserAction

refresh date: 2026-09-25 robots: noindex

الوصف

استخدِم إجراءات المتصفّح لوضع الرموز في شريط أدوات 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

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

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

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

    () => void

المرتجعات

  • Promise<void>

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

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

enable()

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

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

المعلمات

  • tabId

    number اختياري

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

  • callback

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

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

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

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

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

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

    () => void

المرتجعات

  • Promise<void>

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

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

setBadgeText()

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

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

المعلمات

  • التفاصيل

    عنصر

    • tabId

      number اختياري

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

    • نصي

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

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

  • callback

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

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

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

    () => void

المرتجعات

  • Promise<void>

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

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

setIcon()

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

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

المعلمات

  • التفاصيل

    عنصر

    • imageData

      ImageData | object اختيارية

      إما كائن ImageData أو قاموس {الحجم -> 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

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

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

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

    () => void

المرتجعات

  • Promise<void>

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

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

setTitle()

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

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

المعلمات

  • التفاصيل

    عنصر

    • tabId

      number اختياري

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

    • title

      سلسلة

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

  • callback

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

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

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

    () => void

المرتجعات

  • Promise<void>

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

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

الفعاليات

onClicked

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

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

المعلمات

  • callback

    دالة

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

    (tab: tabs.Tab) => void