İşlemi uygulama

İşlem, kullanıcının araç çubuğu simgesini tıkladığında gerçekleşen olaydır. Bu simge genellikle uzantınızın işlem simgesi olarak adlandırılır. Bir işlem, Action API'yi kullanarak bir uzantı özelliğini çağırır veya bir pop-up açar. Bu sayfada, uzantı özelliğinin nasıl çağrılacağı gösterilmektedir. Pop-up kullanmak için Pop-up ekleme başlıklı makaleyi inceleyin.

İşlemi kaydetme

browser.action API'yi kullanmak için "action" anahtarını uzantının manifest dosyasına ekleyin. Bu alanın isteğe bağlı özelliklerinin tam açıklaması için browser.action API referansının manifest bölümüne bakın.

manifest.json:

{
  "name": "My Awesome action Extension",
 ...
  "action": {
   ...
  }
 ...
}

İşleme yanıt verme

Kullanıcı işlem simgesini tıkladığında onClicked işleyici kaydedin. manifest.json dosyasında bir pop-up kaydedilmişse bu etkinlik tetiklenmez.

service-worker.js:

browser.action.onClicked.addListener((tab) => {
  browser.action.setTitle({
    tabId: tab.id,
    title: `You are on tab: ${tab.id}`});
});

Eylemi koşullu olarak etkinleştirme

browser.declarativeContent API, sayfa URL'sine göre veya CSS seçiciler sayfadaki öğelerle eşleştiğinde uzantının işlem simgesini etkinleştirmenize olanak tanır. Bir uzantının işlem simgesi devre dışı bırakıldığında simge gri görünür. Kullanıcı devre dışı simgeyi tıklarsa uzantının bağlam menüsü görünür.

Devre dışı bırakılmış bir işlem simgesi
Devre dışı bırakılmış bir işlem simgesi.

İşlem rozeti

Rozetler, uzantı durumu veya kullanıcı tarafından yapılması gereken işlemler gibi şeyleri belirtmek için işlem simgesinin üzerine yerleştirilen biçimlendirilmiş metinlerdir. Bunu göstermek için Su İç örneğinde, kullanıcıya alarmı başarıyla ayarladığını göstermek için "AÇIK" yazan bir rozet gösterilir. Uzantı boşta olduğunda ise hiçbir şey gösterilmez. Rozetler en fazla dört karakter içerebilir.

Rozetsiz ve rozetli uzantı simgesi.
Rozetli (solda) ve rozetsiz (sağda) uzantı simgesi.

browser.action.setBadgeText() işlevini çağırarak rozetin metnini, browser.action.setBadgeBackgroundColor() işlevini çağırarak da arka plan rengini ayarlayın.

service-worker.js:

browser.action.setBadgeText({text: 'ON'});
browser.action.setBadgeBackgroundColor({color: '#4688F1'});

İpucu

İpuçlarını manifest.json dosyasındaki "default_title" alanında "action" anahtarı altında kaydedin.

manifest.json:

{
  "name": "Tab Flipper",
 ...
  "action": {
    "default_title": "Press Ctrl(Win)/Command(Mac)+Shift+Right/Left to flip tabs"
  }
...
}

Ayrıca action.setTitle() numaralı telefonu arayarak ipuçlarını ayarlayabilir veya güncelleyebilirsiniz. İpucu ayarlanmamışsa uzantının adı gösterilir.