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