chrome.action

Açıklama

Google Chrome araç çubuğundaki uzantının simgesini kontrol etmek için chrome.action API'yi kullanın.

İşlem simgeleri, tarayıcı araç çubuğundaki her şey bir arada kutusu'nun yanında gösterilir. Yükleme sonrasında bu uzantılar, uzantılar menüsünde (bulmaca parçası simgesi) görünür. Kullanıcılar uzantı simgesini araç çubuğuna sabitleyebilir.

Kullanılabilirlik

Chrome 88 ve sonraki sürümler MV3 ve sonraki sürümler

Manifest

Bu API'yi kullanmak için aşağıdaki anahtarlar manifest dosyasında beyan edilmelidir.

"action"

chrome.action API'yi kullanmak için 3 "manifest_version" belirtin ve "action" anahtarını manifest dosyanıza ekleyin.

{
  "name": "Action Extension",
  ...
  "action": {
    "default_icon": {              // optional
      "16": "images/icon16.png",   // optional
      "24": "images/icon24.png",   // optional
      "32": "images/icon32.png"    // optional
    },
    "default_title": "Click Me",   // optional, shown in tooltip
    "default_popup": "popup.html"  // optional
  },
  ...
}

"action" anahtarı (alt öğeleriyle birlikte) isteğe bağlıdır. Bu dosya dahil edilmediğinde bile uzantınız, uzantının menüsüne erişim sağlamak için araç çubuğunda gösterilir. Bu nedenle, en azından "action" ve "default_icon" anahtarlarını her zaman eklemenizi öneririz.

Kavramlar ve kullanım

Kullanıcı arayüzünün bölümleri

Simge

Simge, uzantınızın araç çubuğundaki ana resimdir ve manifest'inizin "action" anahtarındaki "default_icon" anahtarı tarafından belirlenir. Simgeler 16 cihazdan bağımsız piksel (DIP) genişliğinde ve yüksekliğinde olmalıdır.

"default_icon" anahtarı, resim yollarının boyutlarını içeren bir sözlüktür. Chrome, kullanılacak resim ölçeğini seçmek için bu simgeleri kullanır. Tam eşleşme bulunamazsa Chrome, mevcut en yakın resmi seçer ve resme sığacak şekilde ölçeklendirir. Bu işlem, resim kalitesini etkileyebilir.

1,5x veya 1,2x gibi daha az yaygın ölçek faktörlerine sahip cihazlar yaygınlaşmaya başladığından simgeleriniz için birden fazla boyut sağlamanızı öneririz. Bu, uzantınızı olası simge görüntüleme boyutu değişikliklerine karşı da korur. Ancak yalnızca tek bir boyut sağlanıyorsa "default_icon" anahtarı, sözlük yerine tek bir simgenin yolunu içeren bir dize olarak da ayarlanabilir.

Ayrıca, uzantınızın simgesini programlı olarak ayarlamak için action.setIcon()'ü çağırabilirsiniz. Bunun için farklı bir resim yolu belirtebilir veya HTML kanvas öğesini kullanarak dinamik olarak oluşturulmuş bir simge sağlayabilir ya da uzantı hizmet işçisinden ayar yapıyorsanız offscreen kanvas API'sini kullanabilirsiniz.

const canvas = new OffscreenCanvas(16, 16);
const context = canvas.getContext('2d');
context.clearRect(0, 0, 16, 16);
context.fillStyle = '#00FF00';  // Green
context.fillRect(0, 0, 16, 16);
const imageData = context.getImageData(0, 0, 16, 16);
chrome.action.setIcon({imageData: imageData}, () => { /* ... */ });

Paketlenmiş uzantılar (.crx dosyasından yüklenen) için resimler PNG, JPEG, BMP, ICO ve diğerleri dahil olmak üzere Blink oluşturma motorunun görüntüleyebileceği çoğu biçimde olabilir. SVG desteklenmez. Ayıklanan uzantılarda PNG resimleri kullanılmalıdır.

İpucu (başlık)

İpucu veya başlık, kullanıcı fare imlecini araç çubuğundaki uzantının simgesinin üzerinde tuttuğunda görünür. Ayrıca, düğme odağa alındığında ekran okuyucular tarafından okunan erişilebilir metne de dahil edilir.

Varsayılan ipucu, manifest.json içindeki "action" anahtarının "default_title" alanı kullanılarak ayarlanır. action.setTitle() işlevini çağırarak da programatik olarak ayarlayabilirsiniz.

Rozet

İşlemler isteğe bağlı olarak simgenin üzerine yerleştirilmiş bir metin olan "rozet" gösterebilir. Bu sayede, işlemi, uzantının durumuyla ilgili az miktarda bilgi (ör. sayaç) gösterecek şekilde güncelleyebilirsiniz. Rozetin bir metin bileşeni ve arka plan rengi vardır. Alan sınırlı olduğundan rozet metninde dört veya daha az karakter kullanılması önerilir.

Rozet oluşturmak için action.setBadgeBackgroundColor() ve action.setBadgeText() işlevlerini çağırarak rozeti programatik olarak ayarlayın. Manifestte varsayılan bir rozet ayarı yoktur. Rozet renk değerleri, rozetin RGBA rengini oluşturan 0 ile 255 arasında dört tam sayı içeren bir dizi veya CSS renk değeri içeren bir dize olabilir.

chrome.action.setBadgeBackgroundColor(
  {color: [0, 255, 0, 0]},  // Green
  () => { /* ... */ },
);

chrome.action.setBadgeBackgroundColor(
  {color: '#00FF00'},  // Also green
  () => { /* ... */ },
);

chrome.action.setBadgeBackgroundColor(
  {color: 'green'},  // Also, also green
  () => { /* ... */ },
);

Kullanıcı, araç çubuğunda uzantının işlem düğmesini tıkladığında bir işlem pop-up'ı gösterilir. Pop-up'ta istediğiniz HTML içeriklerini kullanabilirsiniz. Pop-up, içeriğine sığacak şekilde otomatik olarak boyutlandırılır. Pop-up'ın boyutu 25x25 ile 800x600 piksel arasında olmalıdır.

Pop-up, başlangıçta manifest.json dosyasındaki "action" anahtarındaki "default_popup" mülkü tarafından ayarlanır. Varsa bu özellik, uzantı dizininde bir göreli yolu işaret etmelidir. Ayrıca action.setPopup() yöntemi kullanılarak dinamik olarak farklı bir göreli yola işaret edecek şekilde güncellenebilir.

Kullanım alanları

Sekme başına durum

Uzantı işlemlerinin her sekme için farklı durumları olabilir. Bir sekme için değer ayarlamak istiyorsanız action API'sinin ayar yöntemlerinde tabId mülkünü kullanın. Örneğin, belirli bir sekmenin rozet metnini ayarlamak için aşağıdaki gibi bir işlem yapın:

function getTabId() { /* ... */}
function getTabBadge() { /* ... */}

chrome.action.setBadgeText(
  {
    text: getTabBadge(tabId),
    tabId: getTabId(),
  },
  () => { ... }
);

tabId özelliği atlanırsa ayar, genel ayar olarak değerlendirilir. Sekmeye özgü ayarlar, genel ayarlara göre önceliklidir.

Etkin durum

Araç çubuğu işlemleri varsayılan olarak her sekmede etkindir (tıklanabilir). Bu varsayılan ayarı, manifest'in action anahtarında default_state mülkünü ayarlayarak değiştirebilirsiniz. default_state "disabled" olarak ayarlanırsa işlem varsayılan olarak devre dışıdır ve tıklanabilir olması için programatik olarak etkinleştirilmelidir. default_state, "enabled" olarak ayarlanırsa (varsayılan) işlem varsayılan olarak etkin ve tıklanabilir olur.

Durumu action.enable() ve action.disable() yöntemlerini kullanarak programatik olarak kontrol edebilirsiniz. Bu, yalnızca pop-up'ın (varsa) veya action.onClicked etkinliğinin uzantınıza gönderilip gönderilmeyeceğini etkiler. İşlemin araç çubuğunda bulunup bulunmadığını etkilemez.

Örnekler

Aşağıdaki örneklerde, işlemlerin uzantılarda yaygın olarak kullanıldığı bazı yöntemler gösterilmektedir. Bu API'yi denemek için chrome-extension-samples deposundan Action API örneğini yükleyin.

Pop-up gösterme

Kullanıcı uzantının işlemini tıkladığında uzantının pop-up göstermesi yaygın bir durumdur. Bunu kendi uzantınıza uygulamak için manifest.json dosyanızda pop-up'ı tanımlayın ve Chrome'un pop-up'ta göstermesi gereken içeriği belirtin.

// manifest.json
{
  "name": "Action popup demo",
  "version": "1.0",
  "manifest_version": 3,
  "action": {
    "default_title": "Click to view a popup",
    "default_popup": "popup.html"
  }
}
<!-- popup.html -->
<!DOCTYPE html>
<html>
<head>
  <style>
    html {
      min-height: 5em;
      min-width: 10em;
      background: salmon;
    }
  </style>
</head>
<body>
  <p>Hello, world!</p>
</body>
</html>

Tıklama üzerine içerik komut dosyası yerleştirme

Uzantıların yaygın bir özelliği, uzantının işlemini kullanarak birincil özelliklerini göstermesidir. Aşağıdaki örnekte bu kalıp gösterilmektedir. Kullanıcı işlemi tıkladığında uzantı, mevcut sayfaya bir içerik komut dosyası ekler. Ardından içerik komut dosyası, her şeyin beklendiği gibi çalıştığından emin olmak için bir uyarı gösterir.

// manifest.json
{
  "name": "Action script injection demo",
  "version": "1.0",
  "manifest_version": 3,
  "action": {
    "default_title": "Click to show an alert"
  },
  "permissions": ["activeTab", "scripting"],
  "background": {
    "service_worker": "background.js"
  }
}
// background.js
chrome.action.onClicked.addListener((tab) => {
  chrome.scripting.executeScript({
    target: {tabId: tab.id},
    files: ['content.js']
  });
});
// content.js
alert('Hello, world!');

declarativeContent ile işlemleri taklit etme

Bu örnekte, bir uzantının arka plan mantığının (a) bir işlemi varsayılan olarak nasıl devre dışı bırakabileceği ve (b) işlemi belirli sitelerde etkinleştirmek için declarativeContent'ı nasıl kullanabileceği gösterilmektedir.

// service-worker.js

// Wrap in an onInstalled callback to avoid unnecessary work
// every time the service worker is run
chrome.runtime.onInstalled.addListener(() => {
  // Page actions are disabled by default and enabled on select tabs
  chrome.action.disable();

  // Clear all rules to ensure only our expected rules are set
  chrome.declarativeContent.onPageChanged.removeRules(undefined, () => {
    // Declare a rule to enable the action on example.com pages
    let exampleRule = {
      conditions: [
        new chrome.declarativeContent.PageStateMatcher({
          pageUrl: {hostSuffix: '.example.com'},
        })
      ],
      actions: [new chrome.declarativeContent.ShowAction()],
    };

    // Finally, apply our new array of rules
    let rules = [exampleRule];
    chrome.declarativeContent.onPageChanged.addRules(rules);
  });
});

Türler

OpenPopupOptions

Chrome 99 ve üzeri sürümler

Özellikler

  • windowId

    number isteğe bağlı

    İşlem pop-up'ının açılacağı pencerenin kimliği. Belirtilmezse varsayılan olarak etkin pencere olur.

TabDetails

Özellikler

  • tabId

    number isteğe bağlı

    Durumu sorgulanacak sekmenin kimliği. Sekme belirtilmezse sekmeye özgü olmayan durum döndürülür.

UserSettings

Chrome 91 ve sonraki sürümler

Bir uzantının işlemiyle ilgili kullanıcı tarafından belirtilen ayarların koleksiyonu.

Özellikler

  • isOnToolbar

    boolean

    Uzantının işlem simgesinin tarayıcı pencerelerinin üst düzey araç çubuğunda görünür olup olmadığı (yani uzantının kullanıcı tarafından "sabitlenip" sabitlenmediği).

UserSettingsChange

Chrome 130+

Özellikler

  • isOnToolbar

    boole isteğe bağlı

    Uzantının işlem simgesinin tarayıcı pencerelerinin üst düzey araç çubuğunda görünür olup olmadığı (yani uzantının kullanıcı tarafından "sabitlenip" sabitlenmediği).

Yöntemler

disable()

Promise
chrome.action.disable(
  tabId?: number,
  callback?: function,
)

Bir sekmenin işlemini devre dışı bırakır.

Parametreler

  • tabId

    number isteğe bağlı

    İşlemi değiştirmek istediğiniz sekmenin kimliği.

  • geri çağırma

    işlev isteğe bağlı

    callback parametresi şu şekilde görünür:

    () => void

İadeler

  • Promise<void>

    Sözler Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırma işlevleri sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Sözleşme, geri çağırma işlevine iletilen türle çözülür.

enable()

Promise
chrome.action.enable(
  tabId?: number,
  callback?: function,
)

Bir sekme için işlemi etkinleştirir. İşlemler varsayılan olarak etkindir.

Parametreler

  • tabId

    number isteğe bağlı

    İşlemi değiştirmek istediğiniz sekmenin kimliği.

  • geri çağırma

    işlev isteğe bağlı

    callback parametresi şu şekilde görünür:

    () => void

İadeler

  • Promise<void>

    Sözler Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırma işlevleri sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Sözleşme, geri çağırma işlevine iletilen türle çözülür.

getBadgeBackgroundColor()

Promise
chrome.action.getBadgeBackgroundColor(
  details: TabDetails,
  callback?: function,
)

İşlemin arka plan rengini alır.

Parametreler

  • ayrıntılar
  • geri çağırma

    işlev isteğe bağlı

    callback parametresi şu şekilde görünür:

    (result: ColorArray) => void

İadeler

  • Sözler Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırma işlevleri sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Sözleşme, geri çağırma işlevine iletilen türle çözülür.

getBadgeText()

Promise
chrome.action.getBadgeText(
  details: TabDetails,
  callback?: function,
)

İşlemin rozet metnini alır. Sekme belirtilmezse sekmeye özgü olmayan rozet metni döndürülür. displayActionCountAsBadgeText etkinse declarativeNetRequestFeedback izni mevcut değilse veya sekmeye özgü rozet metni sağlanmadıysa bir yer tutucu metin döndürülür.

Parametreler

  • ayrıntılar
  • geri çağırma

    işlev isteğe bağlı

    callback parametresi şu şekilde görünür:

    (result: string) => void

    • sonuç

      dize

İadeler

  • Promise<string>

    Sözler Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırma işlevleri sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Sözleşme, geri çağırma işlevine iletilen türle çözülür.

getBadgeTextColor()

Promise Chrome 110 ve üzeri sürümler
chrome.action.getBadgeTextColor(
  details: TabDetails,
  callback?: function,
)

İşlemin metin rengini alır.

Parametreler

  • ayrıntılar
  • geri çağırma

    işlev isteğe bağlı

    callback parametresi şu şekilde görünür:

    (result: ColorArray) => void

İadeler

  • Sözler Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırma işlevleri sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Sözleşme, geri çağırma işlevine iletilen türle çözülür.

getPopup()

Promise
chrome.action.getPopup(
  details: TabDetails,
  callback?: function,
)

Bu işlem için pop-up olarak ayarlanan HTML dokümanı alır.

Parametreler

  • ayrıntılar
  • geri çağırma

    işlev isteğe bağlı

    callback parametresi şu şekilde görünür:

    (result: string) => void

    • sonuç

      dize

İadeler

  • Promise<string>

    Sözler Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırma işlevleri sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Sözleşme, geri çağırma işlevine iletilen türle çözülür.

getTitle()

Promise
chrome.action.getTitle(
  details: TabDetails,
  callback?: function,
)

İşlemin başlığını alır.

Parametreler

  • ayrıntılar
  • geri çağırma

    işlev isteğe bağlı

    callback parametresi şu şekilde görünür:

    (result: string) => void

    • sonuç

      dize

İadeler

  • Promise<string>

    Sözler Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırma işlevleri sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Sözleşme, geri çağırma işlevine iletilen türle çözülür.

getUserSettings()

Promise Chrome 91 ve sonraki sürümler
chrome.action.getUserSettings(
  callback?: function,
)

Bir uzantının işlemiyle ilgili olarak kullanıcı tarafından belirtilen ayarları döndürür.

Parametreler

  • geri çağırma

    işlev isteğe bağlı

    callback parametresi şu şekilde görünür:

    (userSettings: UserSettings) => void

İadeler

  • Promise<UserSettings>

    Sözler Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırma işlevleri sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Sözleşme, geri çağırma işlevine iletilen türle çözülür.

isEnabled()

Promise Chrome 110 ve üzeri sürümler
chrome.action.isEnabled(
  tabId?: number,
  callback?: function,
)

Uzatma işleminin bir sekme için (veya tabId sağlanmamışsa genel olarak) etkinleştirilip etkinleştirilmediğini belirtir. Yalnızca declarativeContent kullanılarak etkinleştirilen işlemler her zaman yanlış değerini döndürür.

Parametreler

  • tabId

    number isteğe bağlı

    Etkin durumunu kontrol etmek istediğiniz sekmenin kimliği.

  • geri çağırma

    işlev isteğe bağlı

    callback parametresi şu şekilde görünür:

    (isEnabled: boolean) => void

    • isEnabled

      boolean

      Uzatma işlemi etkinse doğru değerini alır.

İadeler

  • Promise<boolean>

    Sözler Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırma işlevleri sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Sözleşme, geri çağırma işlevine iletilen türle çözülür.

openPopup()

Promise Chrome 127 ve sonraki sürümler
chrome.action.openPopup(
  options?: OpenPopupOptions,
  callback?: function,
)

Uzantının pop-up'ını açar. Chrome 118 ile Chrome 126 arasında bu özellik yalnızca politikayla yüklenen uzantılar tarafından kullanılabilir.

Parametreler

  • seçenekler

    OpenPopupOptions isteğe bağlı

    Pop-up'ın açılmasıyla ilgili seçenekleri belirtir.

  • geri çağırma

    işlev isteğe bağlı

    callback parametresi şu şekilde görünür:

    () => void

İadeler

  • Promise<void>

    Sözler Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırma işlevleri sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Sözleşme, geri çağırma işlevine iletilen türle çözülür.

setBadgeBackgroundColor()

Promise
chrome.action.setBadgeBackgroundColor(
  details: object,
  callback?: function,
)

Rozetin arka plan rengini ayarlar.

Parametreler

  • ayrıntılar

    nesne

    • renk

      dize | ColorArray

      Rozetin RGBA rengini oluşturan [0,255] aralığında dört tam sayı dizisi. Örneğin, opak kırmızı [255, 0, 0, 255]'tır. CSS değeri içeren bir dize de olabilir. Bu durumda opak kırmızı #FF0000 veya #F00 olur.

    • tabId

      number isteğe bağlı

      Değişikliği belirli bir sekme seçildiğinde olacak şekilde sınırlar. Sekme kapatıldığında otomatik olarak sıfırlanır.

  • geri çağırma

    işlev isteğe bağlı

    callback parametresi şu şekilde görünür:

    () => void

İadeler

  • Promise<void>

    Sözler Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırma işlevleri sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Sözleşme, geri çağırma işlevine iletilen türle çözülür.

setBadgeText()

Promise
chrome.action.setBadgeText(
  details: object,
  callback?: function,
)

İşlemin rozet metnini ayarlar. Rozet, simgenin üstünde gösterilir.

Parametreler

  • ayrıntılar

    nesne

    • tabId

      number isteğe bağlı

      Değişikliği belirli bir sekme seçildiğinde olacak şekilde sınırlar. Sekme kapatıldığında otomatik olarak sıfırlanır.

    • text (metin)

      dize isteğe bağlı

      İstediğiniz sayıda karakter iletebilirsiniz ancak alana yalnızca dört karakter sığabilir. Boş bir dize ('') iletilirse rozet metni temizlenir. tabId belirtilir ve text null ise belirtilen sekmenin metni temizlenir ve varsayılan olarak global rozet metni kullanılır.

  • geri çağırma

    işlev isteğe bağlı

    callback parametresi şu şekilde görünür:

    () => void

İadeler

  • Promise<void>

    Sözler Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırma işlevleri sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Sözleşme, geri çağırma işlevine iletilen türle çözülür.

setBadgeTextColor()

Promise Chrome 110 ve üzeri sürümler
chrome.action.setBadgeTextColor(
  details: object,
  callback?: function,
)

Rozetin metin rengini ayarlar.

Parametreler

  • ayrıntılar

    nesne

    • renk

      dize | ColorArray

      Rozetin RGBA rengini oluşturan [0,255] aralığında dört tam sayı dizisi. Örneğin, opak kırmızı [255, 0, 0, 255]'tır. CSS değeri içeren bir dize de olabilir. Bu durumda opak kırmızı #FF0000 veya #F00 olur. Bu değer ayarlanmazsa metnin görünür olması için rozet arka plan rengiyle kontrast oluşturan bir renk otomatik olarak seçilir. Alfa değeri 0 olan renkler ayarlanmaz ve hata döndürür.

    • tabId

      number isteğe bağlı

      Değişikliği belirli bir sekme seçildiğinde olacak şekilde sınırlar. Sekme kapatıldığında otomatik olarak sıfırlanır.

  • geri çağırma

    işlev isteğe bağlı

    callback parametresi şu şekilde görünür:

    () => void

İadeler

  • Promise<void>

    Sözler Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırma işlevleri sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Sözleşme, geri çağırma işlevine iletilen türle çözülür.

setIcon()

Promise
chrome.action.setIcon(
  details: object,
  callback?: function,
)

İşlemin simgesini ayarlar. Simge, bir resim dosyasının yolu veya kanvas öğesindeki piksel verileri ya da bunlardan birinin sözlüğü olarak belirtilebilir. path veya imageData özelliği belirtilmelidir.

Parametreler

  • ayrıntılar

    nesne

    • imageData

      ImageData | nesne isteğe bağlı

      Ayarlanacak simgeyi temsil eden bir ImageData nesnesi veya sözlük ({size -> ImageData}). Simge bir sözlük olarak belirtilirse kullanılacak gerçek resim, ekranın piksel yoğunluğuna bağlı olarak seçilir. Bir ekran alanı birimine sığabilecek resim piksellerinin sayısı scale ise scale * n boyutunda resim seçilir. Burada n, kullanıcı arayüzündeki simgenin boyutudur. En az bir resim belirtilmelidir. "details.imageData = foo" değerinin "details.imageData = {'16': foo}" ile eşdeğer olduğunu unutmayın.

    • yol

      dize | nesne isteğe bağlı

      Ayarlanacak simgeyi gösteren göreli resim yolu veya sözlük ({size -> relative image path}). Simge bir sözlük olarak belirtilirse kullanılacak gerçek resim, ekranın piksel yoğunluğuna bağlı olarak seçilir. Bir ekran alanı birimine sığabilecek resim piksellerinin sayısı scale ise scale * n boyutunda resim seçilir. Burada n, kullanıcı arayüzündeki simgenin boyutudur. En az bir resim belirtilmelidir. "details.path = foo" değerinin "details.path = {'16': foo}" ile eşdeğer olduğunu unutmayın.

    • tabId

      number isteğe bağlı

      Değişikliği belirli bir sekme seçildiğinde olacak şekilde sınırlar. Sekme kapatıldığında otomatik olarak sıfırlanır.

  • geri çağırma

    işlev isteğe bağlı

    callback parametresi şu şekilde görünür:

    () => void

İadeler

  • Promise<void>

    Chrome 96 ve üzeri sürümler

    Sözler Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırma işlevleri sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Sözleşme, geri çağırma işlevine iletilen türle çözülür.

setPopup()

Promise
chrome.action.setPopup(
  details: object,
  callback?: function,
)

HTML dokümanı, kullanıcı işlemin simgesini tıkladığında pop-up olarak açılacak şekilde ayarlanır.

Parametreler

  • ayrıntılar

    nesne

    • pop-up

      dize

      Pop-up'ta gösterilecek HTML dosyasının göreli yolu. Boş dize ('') olarak ayarlanırsa pop-up gösterilmez.

    • tabId

      number isteğe bağlı

      Değişikliği belirli bir sekme seçildiğinde olacak şekilde sınırlar. Sekme kapatıldığında otomatik olarak sıfırlanır.

  • geri çağırma

    işlev isteğe bağlı

    callback parametresi şu şekilde görünür:

    () => void

İadeler

  • Promise<void>

    Sözler Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırma işlevleri sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Sözleşme, geri çağırma işlevine iletilen türle çözülür.

setTitle()

Promise
chrome.action.setTitle(
  details: object,
  callback?: function,
)

İşlemin başlığını ayarlar. Bu durum ipucunuzda gösterilir.

Parametreler

  • ayrıntılar

    nesne

    • tabId

      number isteğe bağlı

      Değişikliği belirli bir sekme seçildiğinde olacak şekilde sınırlar. Sekme kapatıldığında otomatik olarak sıfırlanır.

    • title

      dize

      Fareyle üzerine gelindiğinde işlemin göstermesi gereken dize.

  • geri çağırma

    işlev isteğe bağlı

    callback parametresi şu şekilde görünür:

    () => void

İadeler

  • Promise<void>

    Sözler Manifest V3 ve sonraki sürümlerde desteklenir ancak geriye dönük uyumluluk için geri çağırma işlevleri sağlanır. Aynı işlev çağrısında ikisini birden kullanamazsınız. Sözleşme, geri çağırma işlevine iletilen türle çözülür.

Etkinlikler

onClicked

chrome.action.onClicked.addListener(
  callback: function,
)

Bir işlem simgesi tıklandığında tetiklenir. İşlemin pop-up'ı varsa bu etkinlik tetiklenmez.

Parametreler

  • geri çağırma

    işlev

    callback parametresi şu şekilde görünür:

    (tab: tabs.Tab) => void

onUserSettingsChanged

Chrome 130+
chrome.action.onUserSettingsChanged.addListener(
  callback: function,
)

Bir uzantının işlemiyle ilgili kullanıcı tarafından belirtilen ayarlar değiştiğinde tetiklenir.

Parametreler