الوصف
استخدِم إجراءات المتصفّح لوضع الرموز في شريط أدوات Google Chrome الرئيسي على يسار شريط العناوين. بالإضافة إلى الرمز، يمكن أن يتضمّن إجراء المتصفّح تلميحًا وشارة ونافذة منبثقة.
مدى التوفّر
في الشكل التالي، المربّع المتعدد الألوان على يسار شريط العناوين هو رمز إجراء المتصفّح. يظهر عنصر منبثق أسفل الرمز.
إذا كنت تريد إنشاء رمز ليس نشطًا دائمًا، استخدِم إجراء صفحة بدلاً من إجراء متصفّح.
البيان
سجِّل إجراء المتصفّح في بيان الإضافة على النحو التالي:
{
"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
الخصائص
-
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
-
نتيجة
-
المرتجعات
-
Promise<extensionTypes.ColorArray>
الإصدار 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 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.