Google Chrome拡張のマニフェストファイルまとめ

  • JSON中のコメントは実際にマニフェストを書くときは除去する(JSONの仕様にコメントは無い)。
  • 不鮮明な部分は参考にしたページや公式リファレンスを確認する。
{
	//--- 必須 ---
	"name": <String>,  // 45文字以内
	"version": <versionString>,  // 4つまでのドット区切りの数値(0〜65535)
	
	//--- 推奨 ---
	"description": <String>,  // 132文字以内
	"icons": {
		 "48" : <filenameString>,  // 管理ページ用
		"128" : <filenameString>   // インストール用
	}, 
	// _localeディレクトリがあれば必ず指定、無ければ指定しない
	"default_locale": <reservedString>, 
	
	//--- いずれか1つを選択(もしくは何も使わない) ---
	// ツールバー内に配置されるボタン。ページに関しないもの。常に表示される
	"browser_action": {
		"default_icon" : <filenameString>,  // 必須: 19x19サイズ
		"default_title" : <String>,  // オプション: ツールチップ内容
		"popup" : <filenameString>  // オプション: ポップアップページ
	}, 
	// アドレスバー内に配置されるボタン。ページに関するもの。必要に応じて表示される
	"page_action": {
		"default_icon" : <filenameString>,  // 必須: 
		"default_title" : <String>,  // オプション: ツールチップ内容
		"popup" : <filenameString>  // オプション: ポップアップページ
	}, 
	"theme": {
		"images" : {
			"theme_frame" : <filenameString>, 
			"theme_frame_overlay" : <filenameString>, 
			"theme_toolbar" : <filenameString>, 
			"theme_ntp_background" : <filenameString>, 
			"theme_ntp_attribution" : <filenameString>
		}, 
		"colors" : {
			"frame" : [], 
			"toolbar" : [], 
			"ntp_text" : [], 
			"ntp_link" : [], 
			"ntp_section" : [], 
			"button_background" : []
		}, 
		"tints" : {
			"buttons" : []
		}, 
		"properties" : {
			"ntp_background_alignment" : <reservedString>
		}
	}, 
	
	//--- 必要に応じて設定 ---
	"background_page": <filenameString>,  // バックグラウンドページ
	"options_page": <filenameString>,  // オプションページ
	"chrome_url_overrides": {
		"newtab" : <filenameString>  // 新しいタブの代わりになるページ
	}, 
	"content_scripts": [
		{
			"matches" : [<matchPatternString>, ...],  // URLのマッチパターンを指定 (複数可)
			"css" : [<filenameString>, ...],  // 読み込む順番でCSSファイルを指定
			"js" : [<filenameString>, ...]  // 読み込む順番でJavaScriptファイルを指定
			"run_at" : <String>  // JavaScriptの実行タイミングを指定
			"all_frames" : <Boolean>  // 全フレームに適用するかどうか。初期値はfalse
		}
	], 
	// "tabs", "bookmark", クロスドメイン通信したい通信先ドメインなど。
	"permissions": [<reservedString | matchPatternString>], 
	// NPAPI用
	"plugins": [
		{
			"path" : <filenameString>,  // プラグインへのパス
			"public" : <Boolean>  // 通常のウェブページからもアクセス可能かどうか。初期値はfalse
		}
	], 
	"minimum_chrome_version": <versionString>,   // 拡張機能が必要とするGoogle Chromeの最小バージョン
	"update_url": <urlString>
}

JSON中のデータ型表記

表記 意味
<String> 文字列
<versionString> バージョン文字列。4つまでのドット区切りの数値(0〜65535)文字列
<filenameString> ファイル名。HTML, CSS, JavaScriptファイルなど。
<reservedString> 予約された文字列のうちのいずれか。詳しくは各項目についてマニュアルを参照のこと。
<urlString> URL文字列
<Boolean> 真偽値


参考