--- title: commands slug: Mozilla/Add-ons/WebExtensions/manifest.json/commands tags: - Add-ons - Extensions - WebExtensions translation_of: Mozilla/Add-ons/WebExtensions/manifest.json/commands ---
型 | Object |
---|---|
必須 | いいえ |
例 |
"commands": { "toggle-feature": { "suggested_key": { "default": "Ctrl+Shift+Y", "linux": "Ctrl+Shift+U" }, "description": "Send a 'toggle-feature' event" } } |
commands
キーを使うと拡張機能用のキーボードショートカットを定義できます。
それぞれのショートカットは名前、キーの組み合わせ、説明で定義されます。manifest.json で command を定義すると、関連したキーの組み合わせを {{WebExtAPIRef("commands")}} JavaScript API を用いてリッスンできます。
commands
キーはオブジェクトで、それぞれのショートカットはそのプロパティです。プロパティ名はショートカットの名前です。
それぞれのショートカット自身がオブジェクトで、最大2 つのプロパティを持ちます:
suggested_key
: これはキーの組み合わせを定義しますdescription
: このショートカットを説明する文字suggested_key
プロパティ自身がオブジェクトで、次のプロパティ(これがすべてです)のいくつかを持ちます:
"default"
, "mac"
, "linux"
, "windows"
, "chromeos"
, "android"
, "ios"
それぞれのプロパティの値はそのプラットフォーム用のキーボードショートカットで、"+" で分割されたキーの文字列で与えられます。"default"
用の値が明示的に載っていないすべてのプラットフォームで使われます。
例えば:
"commands": { "toggle-feature": { "suggested_key": { "default": "Alt+Shift+U", "linux": "Ctrl+Shift+U" }, "description": "Send a 'toggle-feature' event to the extension" }, "do-another-thing": { "suggested_key": { "default": "Ctrl+Shift+Y" } } }
これは 2 つのショートカットを定義します:
次に、これらのコマンドの最初を下記のようにリッスンできます:
browser.commands.onCommand.addListener(function(command) { if (command == "toggle-feature") { console.log("toggling the feature!"); } });
特殊なショートカットが 3 つあります:
例えば、これはブラウザーアクションをクリックするキーの組み合わせを定義します:
"commands": { "_execute_browser_action": { "suggested_key": { "default": "Ctrl+Shift+Y" } } }
ショートカットキーには2つのフォーマットがあります: キーの組み合わせとメディアキーです。
キーの組み合わせは 2 つか 3 つのキーからなります:
キーは、上記のリストの順に、"+" で区切られたキー値の組み合わせで与えられます: 例えば、 "Ctrl+Shift+Z".
キーの組み合わせがブラウザーや(例えば "Ctrl+P")、既存のアドオンですでに使われている場合、それを上書きできます。定義することもできますが、ユーザーが入力してもイベントハンドラーは呼ばれません。
あるいは、ショートカットキーは次のいずれかでも指定できます:
既定値だけを使って単一のショートカットを定義するには:
"commands": { "toggle-feature": { "suggested_key": { "default": "Ctrl+Shift+Y" }, "description": "Send a 'toggle-feature' event" } }
2つのショートカットを定義し、1つはプラットフォーム固有のキーの組み合わせとするには:
"commands": { "toggle-feature": { "suggested_key": { "default": "Alt+Shift+U", "linux": "Ctrl+Shift+U" }, "description": "Send a 'toggle-feature' event" }, "do-another-thing": { "suggested_key": { "default": "Ctrl+Shift+Y" } } }
{{Compat("webextensions.manifest.commands")}}