إنشاء قائمة سياقات

تظهر قائمة سياق للنقر البديل (الذي يُعرف غالبًا باسم النقر بزر الماوس الأيمن) على الماوس. لإنشاء قائمة سياق، عليك أولاً إضافة "contextMenus" إذن إلى ملف manifest.json.

manifest.json:

  "permissions": [
    "contextMenus"
  ],

يمكنك اختياريًا استخدام المفتاح "icons" إذا أردت عرض رمز بجانب أحد عناصر القائمة. في هذا المثال، يستخدم عنصر القائمة لإضافة "إضافة بحث Google العالمي" رمزًا بحجم 16 × 16.

عنصر في قائمة السياقات يتضمّن أيقونة بحجم 16 × 16 بكسل
عنصر قائمة سياق يتضمّن رمزًا بحجم 16 × 16

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

قائمة سياق متداخلة
الشكل 4: قائمة سياق وقائمة فرعية متداخلة.

يعرض النموذج ذلك من خلال استدعاء contextMenus.create() في مشغّل الخدمات الخاص بالإضافة. يتم استيراد عناصر القائمة الفرعية من ملف locales.js. بعد ذلك، يتم تكرارها باستخدام runtime.onInstalled.

service-worker.js:

const tldLocales = {
  'com.au': 'Australia',
  'com.br': 'Brazil',
  ...
}

chrome.runtime.onInstalled.addListener(async () => {
  for (let [tld, locale] of Object.entries(tldLocales)) {
    chrome.contextMenus.create({
      id: tld,
      title: locale,
      type: 'normal',
      contexts: ['selection'],
    });
  }
});