refresh date: 2026-09-25 robots: noindex
Açıklama
Google Chrome'un bağlam menüsüne öğe eklemek için chrome.contextMenus API'sini kullanın. Bağlam menüsü eklemelerinizin hangi nesne türleri (ör. resimler, köprüler ve sayfalar) için geçerli olacağını seçebilirsiniz.
İzinler
contextMenusKullanım
Bağlam menüsü öğeleri, file:// veya chrome:// URL'leri olanlar da dahil olmak üzere tüm dokümanlarda (veya doküman içindeki çerçevelerde) görünebilir. Öğelerinizin hangi dokümanlarda görünebileceğini kontrol etmek için create() veya update() yöntemini çağırırken documentUrlPatterns alanını belirtin.
İhtiyacınız olduğu kadar bağlam menüsü öğesi oluşturabilirsiniz ancak uzantınızdan birden fazla öğe aynı anda görünürse Google Chrome bunları otomatik olarak tek bir üst menüde daraltır.
Manifest
API'yi kullanmak için uzantınızın manifest dosyasında"contextMenus" iznini beyan etmeniz gerekir. Ayrıca, menü öğenizin yanında gösterilecek 16x16 piksellik bir simge belirtmeniz gerekir. Örneğin:
{
"name": "My extension",
...
"permissions": [
"contextMenus"
],
"icons": {
"16": "icon-bitty.png",
"48": "icon-small.png",
"128": "icon-large.png"
},
...
}
Örnekler
Bu API'yi denemek için chrome-extension-samples deposundan contextMenus API örneğini yükleyin.
Türler
ContextType
Menünün görünebileceği farklı bağlamlar. "all" değerini belirtmek, "launcher" ve "tab" dışındaki tüm diğer 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/dock'ta vb. uygulama simgesi tıklandığında görünen bağlam menüsüne menü öğeleri eklemek için kullanılır. Farklı platformlar, başlatıcı bağlam menüsünde nelerin desteklendiği konusunda sınırlamalar getirebilir.
Enum
"all"
"page"
"frame"
"selection"
"link"
"editable"
"image"
"video"
"audio"
"launcher"
"action"
Uzantının işleminin bağlam menüsü (araç çubuğu simgesi) için geçerlidir.
"tab"
Sekme şeridindeki bir sekmenin bağlam menüsü için geçerlidir.
CreateProperties
Yeni bağlam menüsü öğesinin özellikleri.
Özellikler
-
işaretli
boole isteğe bağlı
Onay kutusunun veya radyo düğmesinin ilk durumu: Seçili için
true, seçili değil içinfalse. 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ğlamların listesi. Varsayılan değer:
['page']. -
documentUrlPatterns
string[] isteğe bağlı
Öğeyi, yalnızca URL'si verilen kalıplardan biriyle eşleşen dokümanlara veya çerçevelere uygulanacak şekilde kısıtlar. Kalıp biçimleri hakkında ayrıntılı bilgi için Eşleşme Kalıpları başlıklı makaleyi inceleyin.
-
etkin
boole isteğe bağlı
Bu bağlam menüsü öğesinin etkin veya devre dışı olup olmadığı. Varsayılan değer:
true. -
id
string isteğe bağlı
Bu öğeye atanacak benzersiz kimlik. Etkinlik sayfaları için zorunludur. Bu uzantının başka bir kimliğiyle aynı olamaz.
-
parentId
string | number isteğe bağlı
Ebeveyn menüsü öğesinin kimliği; bu, öğeyi daha önce eklenen bir öğenin alt öğesi yapar.
-
targetUrlPatterns
string[] isteğe bağlı
documentUrlPatternsözelliğine benzer şekilde,img,audiovevideoetiketlerininsrcözelliğine veaetiketlerininhrefözelliğine dayalı filtreler. -
title
string isteğe bağlı
Öğede gösterilecek metin.
type,separatorolmadığı sürece bu zorunludur. Bağlamselectionolduğunda, seçili metni göstermek için dizede%skullanın. Örneğin, bu parametrenin değeri "'%s' ifadesini Pig Latin diline çevir" ise ve kullanıcı "cool" kelimesini seçerse seçim için bağlam menüsü öğesi "'cool' ifadesini Pig Latin diline çevir" olur. -
tür
ItemType isteğe bağlı
Menü öğesinin türü. Varsayılan değer:
normal. -
görünür
boole isteğe bağlı
Öğenin menüde görünür olup olmadığını belirtir.
-
onclick
void isteğe bağlı
Menü öğesi tıklandığında geri çağrılan bir işlev. Bu özellik, hizmet çalışanında kullanılamaz. Bunun yerine
contextMenus.onClickediçin bir dinleyici kaydetmeniz gerekir.onclickişlevi şu şekildedir:(info: OnClickData, tab: Tab) => {...}
-
bilgi
Tıklanan öğe ve tıklamanın gerçekleştiği bağlam hakkında bilgi.
-
sekme
Tıklamanın gerçekleştiği sekmenin ayrıntıları. Bu parametre, platform uygulamalarında mevcut değildir.
-
ItemType
Menü öğesinin türü.
Enum
"normal"
"checkbox"
"radio"
"separator"
OnClickData
Bir bağlam menüsü öğesi tıklandığında gönderilen bilgiler.
Özellikler
-
işaretli
boole isteğe bağlı
Tıklandıktan sonra bir onay kutusunun veya radyo öğesinin durumunu gösteren işaret.
-
düzenlenebilir
boole
Öğenin düzenlenebilir olup olmadığını (metin girişi, metin alanı vb.) gösteren bir işaret.
-
frameId
number isteğe bağlı
Chrome 51+Bağlam menüsünün tıklandığı öğenin çerçeve kimliği (bir çerçeve içindeyse).
-
frameUrl
string isteğe bağlı
Bağlam menüsünün tıklandığı öğenin çerçevesinin URL'si (bir çerçeve içindeyse).
-
linkUrl
string isteğe bağlı
Öğe bir bağlantıysa işaret ettiği URL.
-
mediaType
string isteğe bağlı
Bağlam menüsü bu tür öğelerden birinde etkinleştirildiyse "image", "video" veya "audio" değerlerinden biri.
-
dize | sayı
Tıklanan menü öğesinin kimliği.
-
pageUrl
string isteğe bağlı
Menü öğesinin tıklandığı sayfanın URL'si. Tıklama, mevcut sayfanın olmadığı bir bağlamda (ör. başlatıcı bağlam menüsü) gerçekleşirse bu özellik ayarlanmaz.
-
parentMenuItemId
string | number isteğe bağlı
Tıklanan öğenin üst kimliği (varsa).
-
selectionText
string isteğe bağlı
Varsa bağlam seçimi için metin.
-
srcUrl
string isteğe bağlı
"src" URL'si olan öğeler için mevcut olur.
-
wasChecked
boole isteğe bağlı
Tıklanmadan önce bir onay kutusunun veya radyo öğesinin durumunu gösteren işaret.
Özellikler
ACTION_MENU_TOP_LEVEL_LIMIT
Bir uzantı işlemi bağlam 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,
): number | string
Yeni bir bağlam menüsü öğesi oluşturur. Oluşturma sırasında bir hata meydana gelirse bu hata, oluşturma geri çağırma işlevi tetiklenene kadar algılanmayabilir. Ayrıntılar runtime.lastError içinde yer alır.
Parametreler
-
createProperties
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:() => void
İadeler
-
sayı | dize
Yeni oluşturulan öğenin kimliği.
remove()
chrome.contextMenus.remove(
menuItemId: string | number,
callback?: function,
): Promise<void>
Bağlam menüsü öğesini kaldırır.
Parametreler
-
dize | sayı
Kaldırılacak bağlam menüsü öğesinin kimliği.
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 123 ve sonraki sürümlerBağlam menüsü kaldırıldığında çözümlenir.
Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
removeAll()
chrome.contextMenus.removeAll(
callback?: function,
): Promise<void>
Bu uzantı tarafından eklenen tüm bağlam menüsü öğelerini kaldırır.
Parametreler
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 123 ve sonraki sürümlerKaldırma işlemi tamamlandığında çözülür.
Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
update()
chrome.contextMenus.update(
id: string | number,
updateProperties: object,
callback?: function,
): Promise<void>
Daha önce oluşturulmuş bir bağlam menüsü öğesini günceller.
Parametreler
-
id
dize | sayı
Güncellenecek öğenin kimliği.
-
updateProperties
nesne
Güncellenecek özellikler.
contextMenus.createiş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 | number 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
string 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Öğenin menüde görünür olup olmadığını belirtir.
-
onclick
void isteğe bağlı
onclickişlevi şu şekildedir:(info: OnClickData, tab: Tab) => {...}
-
bilgiChrome 44+
-
sekmeChrome 44+
Tıklamanın gerçekleştiği sekmenin ayrıntıları. Bu parametre, platform uygulamalarında mevcut değildir.
-
-
-
callback
function isteğe bağlı
callbackparametresi şu şekilde görünür:() => void
İadeler
-
Promise<void>
Chrome 123 ve sonraki sürümlerBağlam menüsü güncellendiğinde çözümlenir.
Promise'ler yalnızca Manifest V3 ve sonraki sürümlerde desteklenir. Diğer platformların geri çağırma işlevlerini kullanması gerekir.
Etkinlikler
onClicked
chrome.contextMenus.onClicked.addListener(
callback: function,
)
Bir bağlam menüsü öğesi tıklandığında tetiklenir.
Parametreler
-
callback
işlev
callbackparametresi şu şekilde görünür:(info: OnClickData, tab?: tabs.Tab) => void
-
bilgi
-
sekme
tabs.Tab isteğe bağlı
-