Her uzantının kök dizininde, söz konusu uzantının yapısı ve davranışıyla ilgili önemli bilgileri listeleyen bir manifest.json
dosyası olmalıdır.
Bu sayfada, uzantı manifestlerinin yapısı ve içerebilecekleri özellikler açıklanmaktadır.
Örnekler
Aşağıdaki örnek manifest'lerde, kendi manifest'inizi oluşturmak için başlangıç noktası olarak temel manifest yapısı ve sık kullanılan bazı özellikler gösterilmektedir:
Minimal manifest
{
"manifest_version": 3,
"name": "Minimal Manifest",
"version": "1.0.0",
"description": "A basic example extension with only required keys",
"icons": {
"48": "images/icon-48.png",
"128": "images/icon-128.png"
},
}
İçerik komut dosyası kaydetme
{
"manifest_version": 3,
"name": "Run script automatically",
"description": "Runs a script on www.example.com automatically when user installs the extension",
"version": "1.0",
"icons": {
"16": "images/icon-16.png",
"32": "images/icon-32.png",
"48": "images/icon-48.png",
"128": "images/icon-128.png"
},
"content_scripts": [
{
"js": [
"content-script.js"
],
"matches": [
"http://*.example.com//"
]
}
]
}
İçerik komut dosyası ekleme
{
"manifest_version": 3,
"name": "Click to run",
"description": "Runs a script when the user clicks the action toolbar icon.",
"version": "1.0",
"icons": {
"16": "images/icon-16.png",
"32": "images/icon-32.png",
"48": "images/icon-48.png",
"128": "images/icon-128.png"
},
"background": {
"service_worker": "service-worker.js"
},
"action": {
"default_icon": {
"16": "images/icon-16.png",
"32": "images/icon-32.png",
"48": "images/icon-48.png",
"128": "images/icon-128.png"
}
},
"permissions": ["scripting", "activeTab"]
}
İzinleri içeren pop-up
{
"manifest_version": 3,
"name": "Popup extension that requests permissions",
"description": "Extension that includes a popup and requests host permissions and storage permissions .",
"version": "1.0",
"icons": {
"16": "images/icon-16.png",
"32": "images/icon-32.png",
"48": "images/icon-48.png",
"128": "images/icon-128.png"
},
"action": {
"default_popup": "popup.html"
},
"host_permissions": [
"https://*.example.com/"
],
"permissions": [
"storage"
]
}
Yan panel
{
"manifest_version": 3,
"name": "Side panel extension",
"version": "1.0",
"description": "Extension with a default side panel.",
"icons": {
"16": "images/icon-16.png",
"48": "images/icon-48.png",
"128": "images/icon-128.png"
},
"side_panel": {
"default_path": "sidepanel.html"
},
"permissions": ["sidePanel"]
}
Manifest anahtarları
Aşağıda, desteklenen tüm manifest anahtarlarının listesi verilmiştir.
Uzantılar platformu tarafından gereken anahtarlar
"manifest_version"
- Uzantınızın kullandığı manifest dosyası biçiminin sürümünü belirten bir tam sayı. Yalnızca
3
değeri desteklenir. "name"
- Chrome Web Mağazası'nda, yükleme iletişim kutusunda ve kullanıcının Chrome Uzantıları sayfasında (
chrome://extensions
) uzantıyı tanımlayan bir dize. Maksimum uzunluk 75 karakterdir. Yerel ayara özgü adların kullanımı hakkında bilgi edinmek için Uluslararasılaştırma başlıklı makaleyi inceleyin. "version"
- Uzantının sürüm numarasını tanımlayan bir dize. Sürüm numarası biçimlendirmesi hakkında bilgi edinmek için Sürüm başlıklı makaleyi inceleyin.
Chrome Web Mağazası tarafından zorunlu tutulan anahtarlar
"description"
- Hem Chrome Web Mağazası'nda hem de kullanıcının uzantı yönetimi sayfasında uzantıyı açıklayan bir dize. Maksimum uzunluk 132 karakterdir. Açıklamaları yerelleştirme hakkında bilgi edinmek için Uluslararası başlıklı makaleyi inceleyin.
"icons"
- Uzantılarınızı temsil eden bir veya daha fazla simge. En iyi uygulamalar hakkında bilgi edinmek için Simgeler başlıklı makaleyi inceleyin.
İsteğe bağlı anahtarlar
"action"
- Google araç çubuğundaki uzantı simgesinin görünümünü ve davranışını tanımlar. Daha fazla bilgi için
chrome.action
başlıklı makaleyi inceleyin. "author"
- Uzantı oluşturmak için kullanılan hesabın e-posta adresini belirtir.
"background"
- Uzantıdaki etkinlik işleyici işlevi gören hizmet çalışanını içeren JavaScript dosyasını belirtir. Daha fazla bilgi için Uzantı hizmet çalışanları hakkında başlıklı makaleyi inceleyin.
"chrome_settings_overrides"
- Seçilen Chrome ayarları için geçersiz kılma işlemlerini tanımlar. Daha fazla bilgi için Chrome ayarlarını geçersiz kılma başlıklı makaleyi inceleyin.
"chrome_url_overrides"
- Varsayılan Chrome sayfaları için geçersiz kılma işlemlerini tanımlar. Daha fazla bilgi için Chrome sayfalarını geçersiz kılma başlıklı makaleyi inceleyin.
"commands"
- Uzantıdaki klavye kısayollarını tanımlar. Daha fazla bilgi için chrome.commands konusuna bakın.
"content_scripts"
- Kullanıcı belirli web sayfalarını açtığında kullanılacak JavaScript veya CSS dosyalarını belirtir. Daha fazla bilgi için İçerik komut dosyaları başlıklı makaleyi inceleyin.
"content_security_policy"
- Bir uzantının kullanabileceği komut dosyaları, stiller ve diğer kaynaklarla ilgili kısıtlamaları tanımlar. Daha fazla bilgi için İçerik güvenliği politikasını inceleyin.
"cross_origin_embedder_policy"
- Cross-Origin-Embedder-Policy HTTP başlığı için bir değer belirtir. Bu değer, kaynaklar arası kaynakların bir uzantı sayfasına yerleştirilmesini yapılandırır.
"cross_origin_opener_policy"
- Cross-Origin-Opener-Policy HTTP üstbilgisi için bir değer belirtir. Bu değer, üst düzey bir uzantı sayfasının, kaynaklar arası belgelerle bir tarama bağlamı grubu paylaşmadığından emin olmanızı sağlar.
"declarative_net_request"
- declarativeNetRequest API'si için statik kurallar tanımlar. Bu kurallar, ağ isteklerinin engellenmesine ve değiştirilmesine olanak tanır.
"default_locale"
- Birden fazla yerel ayarı destekleyen bir uzantının varsayılan dilini tanımlayan bir dize. Örneğin, "en" ve "pt_BR". Bu anahtar, yerelleştirilmiş uzantılarda gereklidir ve yerelleştirilmemiş uzantılarda kullanılmamalıdır. Daha fazla bilgi için Uluslararasılaştırma başlıklı makaleyi inceleyin.
"devtools_page"
- DevTools API'lerini kullanan sayfaları tanımlar.
"export"
- Kaynakların uzantıdan dışa aktarılmasına izin verir. Daha fazla bilgi için Dışa aktarma başlıklı makaleyi inceleyin.
"externally_connectable"
- Uzantılarınıza hangi diğer sayfaların ve uzantıların bağlanabileceğini belirtir. Daha fazla bilgi için
"externally_connectable"
konusuna bakın. "homepage_url"
- Uzantının ana sayfası için URL belirten bir dize. Bu ayar tanımlanmazsa ana sayfa varsayılan olarak uzantının Chrome Web Mağazası sayfasına ayarlanır. Bu alan, uzantıyı kendi sitenizde barındırıyorsanız özellikle yararlıdır.
"host_permissions"
- Uzantınızın etkileşim kurmasına izin verilen web sayfalarını, URL eşleme kalıpları kullanılarak tanımlanmış şekilde listeler. Bu siteler için kullanıcı izni yükleme sırasında istenir. Daha fazla bilgi için Ana makine izinleri başlıklı makaleyi inceleyin.
"import"
- Kaynakların uzantıya içe aktarılmasına izin verir. Daha fazla bilgi için İçe aktarma bölümüne bakın.
"incognito"
- Uzantının gizli modda nasıl davranacağını tanımlar. Desteklenen değerler:
"spanning"
,"split"
ve"not_allowed"
. Daha fazla bilgi için Gizli mod başlıklı makaleyi inceleyin. "key"
- Çeşitli geliştirme kullanım alanları için uzantınızın kimliğini belirtir. Daha fazla bilgi için Anahtar bölümüne bakın.
"minimum_chrome_version"
- Uzantınızı yükleyebilecek en eski Chrome sürümünü tanımlar. Değer, mevcut bir Chrome tarayıcı sürümü dizesinin alt dizesi olmalıdır (ör.
"107"
veya"107.0.5304.87"
). Chrome'un minimum sürümünden eski sürümlerini kullanan kullanıcılar Chrome Web Mağazası'nda "Uyumlu değil" uyarısı görür ve uzantınızı yükleyemez. Bu özelliği mevcut bir uzantıya eklerseniz Chrome sürümü eski olan kullanıcılar uzantınızın otomatik güncellemelerini almaz. Geçici moddaki işletme kullanıcıları da bu kapsamdadır. "oauth2"
- OAuth 2.0 güvenlik kimliğinin kullanılmasına izin verir. Bu anahtarın değeri,
"client_id"
ve"scopes"
özelliklerine sahip bir nesne olmalıdır. Ayrıntılar için OAuth 2.0 eğitimine göz atın. "omnibox"
- Uzantının, Chrome'un adres çubuğuna bir anahtar kelime kaydetmesine izin verir. Daha fazla bilgi için Çok amaçlı adres çubuğu başlıklı makaleyi inceleyin.
"optional_host_permissions"
- Uzantınız için isteğe bağlı ana makine izinlerini belirtir.
"optional_permissions"
- Uzantınız için isteğe bağlı izinleri beyan eder.
"options_page"
- Uzantı için seçenekler sayfası olarak kullanılacak options.html dosyasının yolunu belirtir. Daha fazla bilgi için Kullanıcılara seçenek sunma başlıklı makaleyi inceleyin.
"options_ui"
- Kullanıcıların Chrome Uzantılar sayfasından uzantı seçeneklerini değiştirmesine olanak tanıyan bir HTML dosyasının yolunu belirtir. Daha fazla bilgi için Yerleşik seçenekler bölümüne bakın.
"permissions"
- Belirli uzantı API'lerinin kullanımını sağlar. Genel bir açıklama için İzinler bölümüne bakın. API'lerin referans sayfalarında, API'lerin gerektirdiği izinler listelenir.
"requirements"
- Uzantıyı kullanmak için gereken teknolojileri listeler. Desteklenen gereksinimlerin listesi için Gereksinimler başlıklı makaleyi inceleyin.
"sandbox"
- Uzantı API'lerine veya korumalı olmayan sayfalara doğrudan erişimi olmayan bir dizi uzantı sayfasını tanımlar. Daha fazla bilgi için Sandbox başlıklı makaleyi inceleyin.
"short_name"
- Karakter alanı sınırlı olduğunda kullanılacak, uzantının adının kısaltılmış sürümünü içeren bir dize. Maksimum uzunluk 12 karakterdir. Bu tanımlanmamışsa bunun yerine "ad" anahtarının kısaltılmış bir sürümü gösterilir.
"side_panel"
- sidePanel'de gösterilecek bir HTML dosyasını tanımlar.
"storage"
- Yönetilen depolama alanı için bir JSON şeması tanımlar. Daha fazla bilgi için Depolama alanları için manifest başlıklı makaleyi inceleyin.
"tts_engine"
- Uzantıyı metin okuma motoru olarak kaydeder. Daha fazla bilgi için ttsEngine API'sine bakın.
"update_url"
- Uzantının güncellemeler sayfasının URL'sini içeren bir dize. Uzantınızı Chrome Web Mağazası dışında barındırıyorsanız bu anahtarı kullanın.
"version_name"
- Uzantının sürümünü açıklayan bir dize. Örnekler:
"1.0 beta"
ve"build rc2"
. Bu değer belirtilmezse uzantı yönetimi sayfasında bunun yerine "sürüm" değeri gösterilir. "web_accessible_resources"
- Uzantıdaki, web sayfaları veya diğer uzantılar tarafından erişilebilen dosyaları tanımlar. Daha fazla bilgi için Web'den Erişilebilir Kaynaklar başlıklı makaleyi inceleyin.
İsteğe bağlı ChromeOS anahtarları
"file_browser_handlers"
- Uzantıların ChromeOS dosya tarayıcısına erişmesine olanak tanıyan
fileBrowserHandler
API'sine erişim sağlar. "file_handlers"
- ChromeOS uzantılarının işleyeceği dosya türlerini belirtir. Daha fazla bilgi için
file_handlers
başlıklı makaleyi inceleyin. "file_system_provider_capabilities"
- Uzantıların ChromeOS'in kullanabileceği dosya sistemleri oluşturmasına olanak tanıyan
fileSystemProvider
API'ye erişim sağlar. "input_components"
- Giriş Yöntemi Düzenleyici API'sinin kullanılmasına izin verir. Daha fazla bilgi için
input_components
konusuna bakın.