İç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. İçerik menüsü oluşturmak için önce manifest.json dosyasına "contextMenus" iznini 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 Arama" uzantısının menü öğesi 16x16 simge kullanmaktadır.

16x16 simgeli bir içerik menüsü öğesi.
16x16 simgeli bir içerik menüsü öğesi.

Bu örneğin geri kalanı, birden çok içerik menüsü seçeneği sunan Genel Google Arama içerik menüsü örneğinden alınmıştır. Bir uzantı birden fazla içerik menüsü içerdiğinde Chrome bunları aşağıda gösterildiği gibi otomatik olarak tek bir üst menüye daraltır:

İç içe yerleştirilmiş içerik menüsü.
Şekil 4: İçerik menüsü ve iç içe yerleştirilmiş alt menü.

Örnekte, uzantı hizmeti çalışanı'nda contextMenus.create() çağrısı yapılarak bu durum gösterilmektedir. Alt menü öğeleri locales.js dosyasından içe aktarılır. Daha sonra runtime.onInstalled, bunların üzerinde iterasyonlar yapar.

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