İçerik menüsü oluşturma

Farenin alternatif tıklaması (genellikle sağ tıklama olarak adlandırılır) için bir bağlam menüsü görünür. Bu sayfada, bağlam menüsünün nasıl uygulanacağı açıklanmaktadır. İlgili API üyelerinin tam listesi için browser.contextMenu başlıklı makaleyi inceleyin.

Bağlam menüsü oluşturmak için önce manifest.json dosyasına "contextMenus" izin 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.

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

Bu örneğin geri kalanı, birden fazla bağlam menüsü seçeneği sunan Global Google Arama bağlam 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 bağlam 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',
  ...
}

browser.runtime.onInstalled.addListener(async () => {
  for (let [tld, locale] of Object.entries(tldLocales)) {
    browser.contextMenus.create({
      id: tld,
      title: locale,
      type: 'normal',
      contexts: ['selection'],
    });
  }
});