Manifest dosyası biçimi

Her uzantının kök dizininde şu özelliklere sahip bir manifest.json dosyası olmalıdır: Söz konusu uzantının yapısı ve davranışı hakkında önemli bilgileri listeler. Bu sayfada uzantı manifest'lerinin yapısı ve bunların özellikleri açıklanmaktadır. yaygın olarak kullanılan bir öğe daha var.

Örnekler

Aşağıdaki örnek manifest'ler, temel manifest yapısını ve bazı Kendi manifestinizi oluşturmak için başlangıç noktası olarak yaygın olarak kullanılan özellikleri kullanın:

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ı kaydedin

{
  "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ı ekleyin

{
  "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"]
}
{
  "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ı

Desteklenen tüm manifest anahtarlarının listesi aşağıda verilmiştir.

Uzantılar platformu için gereken anahtarlar

"manifest_version"
Dosyanız için, manifest dosyası biçiminin sürümünü belirten bir tam sayı uzantıları hakkında daha fazla bilgi edinin. Yalnızca 3 değeri desteklenir.
"name"
Chrome Web'de uzantıyı tanımlayan bir dize Store, yükleme iletişim kutusu ve Kullanıcının Chrome Uzantıları sayfasına (chrome://extensions). İlgili içeriği oluşturmak için kullanılan maksimum uzunluk 75 karakterdir. Yerel ayara özel adları kullanma hakkında bilgi için Uluslararası hale getirme başlıklı makaleyi inceleyin.
"version"
Uzantının sürüm numarasını tanımlayan bir dize. Daha fazla bilgi için sürüm numarası biçimlendirmesi için Sürüm bölümüne bakın.

Chrome Web Mağazası için gereken anahtarlar

"description"
Hem Chrome Web Mağazası'nda hem de kullanıcının web sitesinde uzantıyı açıklayan bir dize uzantı yönetimi sayfası. En çok 132 karakter kullanılabilir. Daha fazla bilgi için açıklamaları yerelleştirmek için Uluslararası hale getirme bölümüne bakın.
"icons"
Uzantınızı temsil eden bir veya daha fazla simge. En iyi uygulamalar hakkında daha fazla bilgi için Simgeler bölümünü inceleyin.

İsteğe bağlı anahtarlar

"action"
Uzantının simgesinin Google'daki görünümünü ve davranışını tanımlar Araç çubuğu. Daha fazla bilgi için chrome.action başlıklı makaleyi inceleyin.
"author"
uzantısıyla birlikte çalışır.
"background"
Uzantının hizmet çalışanını içeren ve olduğunu unutmayın. Daha fazla bilgi için Uzantı hizmeti hakkında bölümüne bakın belirtir.
"chrome_settings_overrides"
Seçili Chrome ayarları için geçersiz kılmaları tanımlar. Daha fazla bilgi için bkz. Chrome ayarlarını geçersiz kılma.
"chrome_url_overrides"
Varsayılan Chrome sayfaları için geçersiz kılmaları tanımlar. Daha fazla bilgi için bkz. Chrome sayfalarını geçersiz kıl.
"commands"
Uzantıdaki klavye kısayollarını tanımlar. Daha fazla chrome.commands'a bakın.
"content_scripts"
Kullanıcı belirli web'i açtığında kullanılacak JavaScript veya CSS dosyalarını belirtir sayfalar. Daha fazla bilgi için İçerik komut dosyaları bölümüne bakın.
"content_security_policy"
Bir uzantının komut dosyaları, stiller ve diğer kaynaklar üzerindeki kısıtlamaları tanımlar yardımcı olabilir. Daha fazla bilgi için İçerik güvenliği politikası başlıklı makaleyi inceleyin.
"cross_origin_embedder_policy"
Cross-Origin-Embedder-Policy HTTP üst bilgisi için bir değer belirtir. kaynaklar arası kaynakların bir uzantı sayfasına yerleştirilmesini yapılandırır.
"cross_origin_opener_policy"
Cross-Origin-Opener-Policy HTTP üst bilgisi için bir değer belirtir. Bu değer, üst düzey bir uzantı sayfasının göz atma bağlamını paylaşmadığından bir anahtar kelime oluşturun.
"declarative_net_request"
declarativeNetRequest için statik kuralları tanımlar API, ağ isteklerinin engellenmesine ve değiştirilmesine olanak tanır.
"default_locale"
Şu uzantıyı destekleyen bir uzantının varsayılan dilini tanımlayan bir dize: birden fazla yerel ayar. Örnek olarak şunlar verilebilir: "en" ve "pt_BR". Bu anahtar şurada gereklidir: yerelleştirilmemiş uzantılarda kullanılmamalıdır. Daha fazla bilgi için Uluslararası hale getirme sayfasına bakın.
"devtools_page"
DevTools API'lerinin kullanıldığı sayfaları tanımlar.
"export"
Kaynakların uzantıdan dışa aktarılmasına izin verir. Daha fazla bilgi için bkz. Dışa aktarma.
"externally_connectable"
Uzantılarınıza başka hangi sayfaların ve uzantıların bağlanabileceğini belirtir. Örneğin, Daha fazla bilgi için bkz. "externally_connectable".
"homepage_url"
Uzantının ana sayfasına ait URL'yi belirten bir dize. Eğer bu tanımlanmamışsa, ana sayfa varsayılan olarak uzantının Chrome Web Mağazası sayfasına ayarlanır. Bu alan özellikle uzantıyı barındırıyorsanız kullanışlıdır .
"host_permissions"
Uzantınızın etkileşim kurmasına izin verilen web sayfalarını listeler, URL eşleşme kalıpları. Yükleme sırasında bu siteler için kullanıcı izni istenir gerekir. Daha fazla bilgi için Ana makine izinleri bölümüne bakın.
"import"
Kaynakların uzantıya aktarılmasına izin verir. Daha fazla bilgi için bkz. İçe aktar.
"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 bkz. Gizli.
"key"
Geliştirmeyle ilgili çeşitli 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ükleyebileceğiniz 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: "107" veya "107.0.5304.87". Chrome'un şu sürümden daha eski sürümlerine sahip kullanıcılar: minimum sürüm için "Uyumlu değil" ifadesini görüyorsanız uyarı alır ve uzantınızı yüklenemiyor. Bunu mevcut bir uzantıya eklerseniz Chrome sürümü daha eski olan kullanıcılar, uzantısına sahip olur. Buna, Google'daki işletme kullanıcıları geçici modunda olduğundan emin olun.
"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 olarak ayarlayın. Ayrıntılar için OAuth 2.0 eğiticisi.
"omnibox"
Uzantının, Chrome'un adres çubuğuna anahtar kelime kaydetmesine olanak tanır. Daha fazla Çok amaçlı adres çubuğu'na bakın.
"optional_host_permissions"
İsteğe bağlı ana makine beyan ediyor izin: ekleyin.
"optional_permissions"
Uzantınız için isteğe bağlı izinler beyan eder.
"options_page"
Uzantının seçin. Daha fazla bilgi için Kullanıcılara seçenekleri bulabilirsiniz.
"options_ui"
Kullanıcının uzantı seçeneklerini değiştirmesine olanak tanıyan HTML dosyasının yolunu belirtir açın. Daha fazla bilgi için bkz. Yerleşik seçenekleri bulabilirsiniz.
"permissions"
Belirli uzantı API'lerinin kullanımını sağlar. İzinler bölümünü inceleyin inceleyebilirsiniz. Her bir API'nin referans sayfalarında, izinlerin olması gerekir.
"requirements"
Uzantıyı kullanmak için gereken teknolojileri listeler. Desteklenenler listesi için Şartlar bölümüne bakın.
"sandbox"
Uzantı API'lerine erişimi olmayan bir uzantı sayfası grubunu tanımlar veya Korumalı alan içinde olmayan sayfalara doğrudan erişim. Daha fazla bilgi için bkz. Korumalı alan.
"short_name"
Kullanılacak uzantı adının kısaltılmış bir sürümünü içeren bir dize kullanabilirsiniz. En çok 12 karakter kullanılabilir. Bu tanımlanmamış, "ad" ifadesinin kısaltılmış hâli tuşu görüntülenir.
"side_panel"
Şurada görüntülenecek HTML dosyasını tanımlar: sidePanel.
"storage"
Yönetilen depolama için bir JSON şeması bildirir alanına dokunun. Daha fazla Depolama alanları için manifeste göz atın.
"tts_engine"
Uzantıyı metin okuma motoru olarak kaydeder. Daha fazla bilgi için bkz. ttsEngine API.
"update_url"
Uzantının güncellemeler sayfasının URL'sini içeren bir dize. Aşağıdaki durumlarda bu anahtarı kullanın: uzantınızı barındırıyorsanız Chrome Web Mağazası dışında.
"version_name"
Uzantının sürümünü açıklayan bir dize. Örnek olarak şunlar verilebilir: "1.0 beta" ve "build rc2". Bu belirtilmemişse "sürüm" değeri uzantı yönetimi sayfasını ziyaret edin.
"web_accessible_resources"
Web sayfaları veya diğer tarayıcılar tarafından erişilebilen, uzantı içinde bulunan dosyaları tanımlar uzantılar. Daha fazla bilgi için bkz. Web Accessible (Web Erişilebilir) Kaynaklar.

İsteğe bağlı ChromeOS anahtarları

"file_browser_handlers"
fileBrowserHandler için erişim sağlar API'yi kullanarak uzantıların ChromeOS dosya tarayıcısına erişmesine olanak tanır.
"file_handlers"
ChromeOS uzantılarının işleyeceği dosya türlerini belirtir. Daha fazla bilgi için file_handlers adlı makaleyi inceleyin.
"file_system_provider_capabilities"
fileSystemProvider erişimine izin verir API'yi kullanarak ChromeOS'in kullanabileceği dosya sistemleri oluşturabilirsiniz.
"input_components"
Giriş Yöntemi Düzenleyici API'sinin kullanılmasına izin verir. Daha fazla bilgi için bkz. input_components.