เมนูตามบริบทจะปรากฏขึ้นสำหรับการคลิกอื่น (ซึ่งมักเรียกว่าการคลิกขวา) ของเมาส์ หากต้องการสร้างเมนูตามบริบท ให้เพิ่มสิทธิ์ "contextMenus"
ลงในไฟล์ Manifest.json ก่อน
manifest.json:
"permissions": [
"contextMenus"
],
(ไม่บังคับ) ใช้ปุ่ม "icons"
หากต้องการแสดงไอคอนข้างรายการในเมนู ในตัวอย่างนี้ รายการเมนูสำหรับส่วนขยาย "การค้นหาของ Google ทั่วโลก" ใช้ไอคอนขนาด 16 x 16
ตัวอย่างส่วนที่เหลือนี้มาจากตัวอย่างเมนูตามบริบทของ Google Search ทั่วโลก ซึ่งมีตัวเลือกเมนูตามบริบทหลายรายการ เมื่อส่วนขยายมีเมนูตามบริบทมากกว่า 1 รายการ Chrome จะยุบส่วนขยายให้เป็นเมนูหลักเมนูเดียวโดยอัตโนมัติดังที่แสดงที่นี่
ตัวอย่างนี้แสดงได้โดยการเรียกใช้ 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'],
});
}
});