İçerik menüsü oluşturma

Bir farenin alternatif tıklaması (genellikle sağ tıklama olarak adlandırılır) için bir içerik menüsü görüntülenir. İç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" için menü öğesi uzantısında 16x16 simgesi kullanılır.

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

Bu örneğin geri kalanı, birden fazla 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: Bir içerik menüsü ve iç içe yerleştirilmiş bir alt menü.

Örnek bu durumu uzantı hizmet çalışanı'nda contextMenus.create() çağrısı yaparak gösterir. Alt menü öğeleri locales.js dosyasından içe aktarılır. Daha sonra runtime.onInstalled, bunlar üzerinde yineleme 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'],
    });
  }
});