İçerik menüsü oluşturma

Farenin alternatif tıklaması (genellikle sağ tıklama olarak adlandırılır) için bir içerik menüsü görünür. Bağlam menüsü oluşturmak için önce manifest.json dosyasına "contextMenus" permission öğesini ekleyin.

manifest.json:

  "permissions": [
    "contextMenus"
  ],

İsteğe bağlı olarak, bir menü öğesinin yanında simge göstermek istiyorsanız "icons" tuşunu kullanın. Bu örnekte, "Global Google Search" uzantısının menü öğesi 16x16 boyutunda bir simge kullanıyor.

16 x 16 simgesi olan bir içerik menüsü öğesi.
16x16 simge içeren bir bağlam menüsü öğesi.

Bu örneğin geri kalanı, birden fazla içerik menüsü seçeneği sunan Global Google Arama içerik menüsü örneğinden alınmıştır. Bir uzantı birden fazla bağlam menüsü içerdiğinde Chrome, bunları otomatik olarak tek bir üst menüde daraltır.

İç içe yerleştirilmiş bir içerik menüsü.
Şekil 4: Bir bağlam menüsü ve iç içe yerleştirilmiş bir alt menü.

Örnekte, uzantı hizmet çalışanı içinde contextMenus.create() çağrılarak bu durum gösterilmektedir. Alt menü öğeleri, locales.js dosyasından içe aktarılır. Ardından runtime.onInstalled bunları yineler.

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'],
    });
  }
});