chrome.contextMenus

Açıklama

Google Chrome'un içerik menüsüne öğe eklemek için chrome.contextMenus API'sini kullanın. İçerik menüsüne eklediğiniz öğelerin resim, köprü ve sayfa gibi nesne türlerini seçebilirsiniz.

İzinler

contextMenus

API'yi kullanmak için uzantınızın manifest dosyasında "contextMenus" iznini beyan etmeniz gerekir. Ayrıca, menü öğenizin yanında görüntülenmesi için 16x16 piksel boyutunda bir simge belirtmeniz gerekir. Örneğin:

{
  "name": "My extension",
  ...
  "permissions": [
    "contextMenus"
  ],
  "icons": {
    "16": "icon-bitty.png",
    "48": "icon-small.png",
    "128": "icon-large.png"
  },
  ...
}

Kavramlar ve kullanım

İçerik menüsü öğeleri, file:// içerenler de dahil olmak üzere herhangi bir dokümanda (veya doküman içinde çerçevede) görünebilir veya chrome:// URL'lerini ekleyin. Öğelerinizin hangi dokümanlarda görünebileceğini kontrol etmek için documentUrlPatterns alanını create() veya update() yöntemini çağırdığınızda

İstediğiniz kadar içerik menüsü öğesi oluşturabilirsiniz, ancak uzantınızda birden fazla öğe bulunuyorsa Google Chrome bunları otomatik olarak tek bir üst menüye daraltır.

Örnekler

Bu API'yi denemek için chrome-extension-samples bölümünden contextMenüs API örneğini yükleyin depodur.

Türler

ContextType

Chrome 44 ve sonraki sürümler 'nı inceleyin.

Bir menünün gösterilebileceği farklı bağlamlar. "Tümünü" belirleme "başlatıcı" hariç diğer tüm bağlamların kombinasyonuna eşdeğerdir. 'Başlatıcı' bağlam yalnızca uygulamalar tarafından desteklenir ve başlatıcıda/görev çubuğunda/yuvada/vb. uygulamada uygulama simgesi tıklandığında görünen içerik menüsüne menü öğeleri eklemek için kullanılır. Farklı platformlar, başlatıcı içerik menüsünde gerçekte desteklenen öğelere sınırlamalar getirebilir.

Enum

"all"

"page"

"frame"

"selection"

"link"

"düzenlenebilir"

"image"

"video"

"audio"

"Başlatıcı"

"browser_action"

"page_action"

"action"

CreateProperties

Chrome 123 ve sonraki sürümler 'nı inceleyin.

Yeni içerik menüsü öğesinin özellikleri.

Özellikler

  • işaretli

    boole isteğe bağlı

    Bir onay kutusunun veya radyo düğmesinin ilk durumu: Seçilenler için true, seçimi kaldırılanlar için false. Belirli bir grupta aynı anda yalnızca bir radyo düğmesi seçilebilir.

  • bağlamlar

    [ContextType, ...ContextType[]] isteğe bağlı

    Bu menü öğesinin görüneceği bağlam listesi. Varsayılan olarak ['page'] değerine ayarlanır.

  • documentUrlPatterns

    string[] isteğe bağlı

    Öğeyi yalnızca URL'si belirtilen kalıplardan biriyle eşleşen dokümanlara veya çerçevelere uygulanacak şekilde kısıtlar. Kalıp biçimleriyle ilgili ayrıntılar için Eşleşme Kalıpları bölümüne bakın.

  • etkin

    boole isteğe bağlı

    Bu içerik menüsü öğesinin etkin mi yoksa devre dışı mı olduğu. Varsayılan olarak true değerine ayarlanır.

  • id

    dize isteğe bağlı

    Bu öğeye atanacak benzersiz kimlik. Etkinlik sayfaları için zorunludur. Bu uzantının başka bir kimliği ile aynı olamaz.

  • parentId

    string | sayı isteğe bağlı

    Bir üst menü öğesinin kimliği; bu işlem öğeyi, önceden eklenen bir öğenin alt öğesi yapar.

  • targetUrlPatterns

    string[] isteğe bağlı

    documentUrlPatterns özelliğine benzer şekilde, img, audio ve video etiketlerinin src özelliğine ve a etiketlerin href özelliğine dayalı filtrelerdir.

  • title

    dize isteğe bağlı

    Öğede görüntülenecek metin; type, separator değilse bu gereklidir. Bağlam selection olduğunda, seçili metni göstermek için dize içinde %s kullanın. Örneğin, bu parametrenin değeri "Çevir '%s' ise Pig Latin" ve kullanıcı "havalı" kelimesini seçerse, seçim için içerik menüsü öğesi "'Havalı'yı çevir" olur. Pig Latin" gibi bir ifade kullanabilirsiniz.

  • tür

    ItemType isteğe bağlı

    Menü öğesinin türü. Varsayılan olarak normal değerine ayarlanır.

  • görünür

    boole isteğe bağlı

    Öğenin menüde görünür olup olmadığı.

  • onclick

    geçersiz isteğe bağlı

    Menü öğesi tıklandığında geri çağrılan bir işlev. Bu özellik, Service Worker içinde kullanılamaz. bunun yerine contextMenus.onClicked için bir işleyici kaydetmeniz gerekir.

    onclick işlevi aşağıdaki gibi görünür:

    (info: OnClickData, tab: Tab) => {...}

    • bilgi

      Tıklanan öğe ve tıklamanın gerçekleştiği bağlamla ilgili bilgiler.

    • sekmesinden

      Tıklamanın gerçekleştiği sekmenin ayrıntıları. Bu parametre platform uygulamaları için mevcut değildir.

ItemType

Chrome 44 ve sonraki sürümler 'nı inceleyin.

Menü öğesinin türü.

Enum

"normal"

"onay kutusu"

"radyo"

"ayırıcı"

OnClickData

Bir içerik menüsü öğesi tıklandığında gönderilen bilgiler.

Özellikler

  • işaretli

    boole isteğe bağlı

    Bir onay kutusu veya radyo öğesinin tıklandıktan sonraki durumunu gösteren bir işaret.

  • düzenlenebilir

    boolean

    Öğenin düzenlenebilir olup olmadığını gösteren bir işaret (metin girişi, metin alanı vb.).

  • frameId

    sayı isteğe bağlı

    Chrome 51 ve sonraki sürümler 'nı inceleyin.

    Bir çerçeve içindeyse içerik menüsünün tıklandığı öğenin çerçevenin kimliği.

  • frameUrl

    dize isteğe bağlı

    Bir çerçeve içindeyse, içerik menüsünün tıklandığı öğe çerçevesinin URL'si.

  • linkUrl

    dize isteğe bağlı

    Öğe bir bağlantıysa işaret ettiği URL.

  • mediaType

    dize isteğe bağlı

    "image" (resim), "video" (video) veya "audio" (ses) değerlerinden biri bağlam menüsü bu öğe türlerinden birinde etkinleştirildiyse.

  • menuItemId

    string | numara

    Tıklanan menü öğesinin kimliği.

  • pageUrl

    dize isteğe bağlı

    Menü öğesinin tıklandığı sayfanın URL'si. Tıklama, başlatıcı içerik menüsünde olduğu gibi geçerli sayfanın bulunmadığı bir bağlamda gerçekleştiyse bu özellik ayarlanmaz.

  • parentMenuItemId

    string | sayı isteğe bağlı

    Tıklanan öğenin üst kimliği (varsa).

  • selectionText

    dize isteğe bağlı

    Varsa bağlam seçimi metni.

  • srcUrl

    dize isteğe bağlı

    "src" içeren öğeler için mevcut olur URL'yi tıklayın.

  • wasChecked

    boole isteğe bağlı

    Onay kutusu veya radyo öğesinin tıklanmadan önceki durumunu gösteren işaret.

Özellikler

ACTION_MENU_TOP_LEVEL_LIMIT

Uzantı işlemi içerik menüsüne eklenebilecek maksimum üst düzey uzantı öğesi sayısı. Bu sınırı aşan öğeler yoksayılır.

Değer

6

Yöntemler

create()

chrome.contextMenus.create(
  createProperties: CreateProperties,
  callback?: function,
)

Yeni bir bağlam menüsü öğesi oluşturur. Oluşturma sırasında bir hata oluşursa oluşturma geri çağırması etkinleşene kadar bu hata algılanmayabilir; ayrıntıları runtime.lastError sayfasında yer alacaktır.

Parametreler

  • createProperties
  • geri çağırma

    işlev isteğe bağlı

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

    () => void

İadeler

  • sayı | dize

    Yeni oluşturulan öğenin kimliği.

remove()

Söz 'nı inceleyin.
chrome.contextMenus.remove(
  menuItemId: string | number,
  callback?: function,
)

Bir içerik menüsü öğesini kaldırır.

Parametreler

  • menuItemId

    string | numara

    Kaldırılacak içerik menüsü öğesinin kimliği.

  • geri çağırma

    işlev isteğe bağlı

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

    () => void

İadeler

  • Taahhüt<void>

    Chrome 123 ve sonraki sürümler 'nı inceleyin.

    Manifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, geri çağırmaya iletilen aynı türle çözümlenir.

removeAll()

Söz 'nı inceleyin.
chrome.contextMenus.removeAll(
  callback?: function,
)

Bu uzantı tarafından eklenen tüm içerik menüsü öğelerini kaldırır.

Parametreler

  • geri çağırma

    işlev isteğe bağlı

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

    () => void

İadeler

  • Taahhüt<void>

    Chrome 123 ve sonraki sürümler 'nı inceleyin.

    Manifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, geri çağırmaya iletilen aynı türle çözümlenir.

update()

Söz 'nı inceleyin.
chrome.contextMenus.update(
  id: string | number,
  updateProperties: object,
  callback?: function,
)

Önceden oluşturulan içerik menüsü öğesini günceller.

Parametreler

  • id

    string | numara

    Güncellenecek öğenin kimliği.

  • updateProperties

    nesne

    Güncellenecek özellikler. contextMenus.create işleviyle aynı değerleri kabul eder.

    • işaretli

      boole isteğe bağlı

    • bağlamlar

      [ContextType, ...ContextType[]] isteğe bağlı

    • documentUrlPatterns

      string[] isteğe bağlı

    • etkin

      boole isteğe bağlı

    • parentId

      string | sayı isteğe bağlı

      Bu öğenin üst öğesi yapılacak öğenin kimliği. Not: Bir öğeyi, kendi alt öğesinin alt öğesi olacak şekilde ayarlayamazsınız.

    • targetUrlPatterns

      string[] isteğe bağlı

    • title

      dize isteğe bağlı

    • tür

      ItemType isteğe bağlı

    • görünür

      boole isteğe bağlı

      Chrome 62 ve sonraki sürümler 'nı inceleyin.

      Öğenin menüde görünür olup olmadığı.

    • onclick

      geçersiz isteğe bağlı

      onclick işlevi aşağıdaki gibi görünür:

      (info: OnClickData, tab: Tab) => {...}

      • bilgi
        Chrome 44 ve sonraki sürümler 'nı inceleyin.
      • sekmesinden
        Chrome 44 ve sonraki sürümler 'nı inceleyin.

        Tıklamanın gerçekleştiği sekmenin ayrıntıları. Bu parametre platform uygulamaları için mevcut değildir.

  • geri çağırma

    işlev isteğe bağlı

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

    () => void

İadeler

  • Taahhüt<void>

    Chrome 123 ve sonraki sürümler 'nı inceleyin.

    Manifest V3 ve sonraki sürümlerde vaatler desteklenir ancak geriye dönük uyumluluk Aynı işlev çağrısında ikisini birden kullanamazsınız. İlgili içeriği oluşturmak için kullanılan taahhüt, geri çağırmaya iletilen aynı türle çözümlenir.

Etkinlikler

onClicked

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

Bir içerik menüsü öğesi tıklandığında tetiklenir.

Parametreler