สร้างเมนูตามบริบท

เมนูตามบริบทจะปรากฏขึ้นสำหรับการคลิกสำรอง (มักเรียกว่าการคลิกขวา) ของเมาส์ หากต้องการสร้างเมนูตามบริบท ให้เพิ่มสิทธิ์ "contextMenus" ลงในไฟล์ Manifest.json ก่อน

manifest.json:

  "permissions": [
    "contextMenus"
  ],

หากต้องการแสดงไอคอนข้างรายการในเมนู (ไม่บังคับ) ใช้ปุ่ม "icons" ในตัวอย่างนี้ รายการเมนูสำหรับ "Google Search ทั่วโลก" ส่วนขยายใช้ไอคอน 16 x 16

วันที่ รายการเมนูตามบริบทที่มีไอคอนขนาด 16 x 16
รายการเมนูตามบริบทที่มีไอคอนขนาด 16 x 16

ส่วนที่เหลือของตัวอย่างนี้นำมาจากตัวอย่างเมนูตามบริบทของ Google Search ทั่วโลก ซึ่งมีตัวเลือกเมนูตามบริบทมากมาย เมื่อส่วนขยายมีเมนูตามบริบทมากกว่า 1 เมนู 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'],
    });
  }
});