概念和用法
扩展程序的清单中声明为 "commands"
对象的属性。
属性键将用作命令的名称。命令对象可以具有两个属性。
manifest.json中配置方式
{
"name": "My extension",
...
"commands": {
"run-foo": {
"suggested_key": {
"default": "Ctrl+Shift+Y",
"mac": "Command+Shift+Y"
},
"description": "Run \"foo\" on the current page."
},
"_execute_action": {
"suggested_key": {
"windows": "Ctrl+Shift+Y",
"mac": "Command+Shift+Y",
"chromeos": "Ctrl+Shift+U",
"linux": "Ctrl+Shift+J"
}
}
},
...
}
suggested_key
可选属性,用于声明命令的默认键盘快捷键。如果省略,该命令将解除绑定。此属性可以接受字符串或对象值。
description
用于为用户提供命令用途的简短说明的字符串。此字符串会显示在扩展程序键盘快捷键管理界面中。标准命令必须包含说明,而操作命令会忽略说明。
键组合要求
扩展程序命令快捷方式必须包含 Ctrl 或 Alt。
修饰符不能与媒体键结合使用。
在 macOS 上,Ctrl 会自动转换为 Command。
如需在 macOS 上使用 Ctrl 键,请在定义 "mac" 快捷方式时将 Ctrl 替换为 MacCtrl。
将 MacCtrl 用于其他平台会导致出现验证错误,并会阻止该扩展程序安装。
Shift 是所有平台上的可选修饰符。
Search 是 ChromeOS 独有的可选修饰符。
某些操作系统和 Chrome 快捷方式(例如窗口管理)始终优先于扩展程序命令快捷方式,因此无法被覆盖。
常用方法
在 Service Worker 中,您可以使用 onCommand.addListener
将处理程序绑定到清单中定义的每个命令。例如:
chrome.commands.onCommand.addListener((command) => {
console.log(`Command: ${command}`);
});
获取所有快捷键设置
chrome.commands.getAll(
callback?:
function,
)