الإجراء هو ما يحدث عندما ينقر المستخدم على رمز شريط الأدوات، والذي يُطلق عليه عادةً رمز الإجراء الخاص بالإضافة. يستدعي الإجراء ميزة إضافة باستخدام Action API أو يفتح نافذة منبثقة. توضّح هذه الصفحة كيفية استدعاء إحدى ميزات الإضافة. لاستخدام نافذة منبثقة، اطّلِع على إضافة نافذة منبثقة.
تسجيل الإجراء
لاستخدام browser.action API، أضِف المفتاح "action" إلى ملف البيان الخاص بالإضافة. راجِع قسم ملف البيان في مرجع واجهة برمجة التطبيقات browser.action للاطّلاع على وصف كامل للسمات الاختيارية لهذا الحقل.
manifest.json:
{
"name": "My Awesome action Extension",
...
"action": {
...
}
...
}
الردّ على الإجراء
سجِّل معالج onClicked عندما ينقر المستخدم على رمز الإجراء. لا يتم تشغيل هذا الحدث إذا تم تسجيل نافذة منبثقة في ملف manifest.json.
service-worker.js:
browser.action.onClicked.addListener((tab) => {
browser.action.setTitle({
tabId: tab.id,
title: `You are on tab: ${tab.id}`});
});
تفعيل الإجراء بشكل شَرطي
يتيح لك browser.declarativeContent API تفعيل رمز إجراء الإضافة استنادًا إلى عنوان URL للصفحة أو عندما تتطابق أدوات اختيار CSS مع العناصر الموجودة على الصفحة. عندما يكون رمز إجراء الإضافة غير مفعّل، يظهر الرمز باللون الرمادي. إذا نقر المستخدم على الرمز غير المفعَّل، ستظهر قائمة السياق الخاصة بالإضافة.
شارة الإجراء
الشارات هي أجزاء من النص المنسَّق يتم وضعها فوق رمز الإجراء للإشارة إلى أمور مثل حالة الإضافة أو أنّ المستخدم مطلوب منه اتّخاذ إجراءات. ولتوضيح ذلك، يعرض نموذج شرب الماء شارة مكتوب عليها "مفعّل" لإعلام المستخدم بأنّه ضبط المنبّه بنجاح، ولا يعرض أي شيء عندما تكون الإضافة غير نشطة. يمكن أن تحتوي الشارات على أربعة أحرف كحد أقصى.
اضبط نص الشارة من خلال استدعاء browser.action.setBadgeText() ولون الخلفية من خلال استدعاء browser.action.setBadgeBackgroundColor().
service-worker.js:
browser.action.setBadgeText({text: 'ON'});
browser.action.setBadgeBackgroundColor({color: '#4688F1'});
تلميح
سجِّل تلميحات الأدوات في الحقل "default_title" ضمن المفتاح "action" في ملف manifest.json.
manifest.json:
{
"name": "Tab Flipper",
...
"action": {
"default_title": "Press Ctrl(Win)/Command(Mac)+Shift+Right/Left to flip tabs"
}
...
}
يمكنك أيضًا ضبط أو تعديل تلميحات الأدوات من خلال استدعاء action.setTitle(). إذا لم يتم ضبط تلميح أداة، سيظهر اسم الإضافة.