构建一个可以通过热键激活的 Chrome 扩展
Building a Chrome extension that can be activated by hotkeys
哪个 Chrome API 允许我编写一个可以通过非冲突热键激活的扩展(如 Ctrl- Shift-B), 或通过触控板手势(在 Mac 上)?
我正在查看 Chrome extension API and Chromium 文档,但尚未找到任何内容。
可以使用 manifest.json 键 commands
添加键盘快捷键。您可以为一般操作、浏览器操作按钮 (_execute_browser_action
) 或页面操作按钮 (_execute_page_action
) 添加键盘快捷键。
示例 manifest.json Chrome documentation 中包含的内容是(稍作修改以反映您对 Ctrl-Shift-B):
"commands": {
"toggle-feature-foo": {
"suggested_key": {
"default": "Ctrl+Shift+B",
"mac": "Command+Shift+B"
},
"description": "Toggle feature foo"
},
"_execute_browser_action": {
"suggested_key": {
"windows": "Ctrl+Shift+Y",
"mac": "Command+Shift+Y",
"chromeos": "Ctrl+Shift+U",
"linux": "Ctrl+Shift+J"
}
},
"_execute_page_action": {
"suggested_key": {
"default": "Ctrl+Shift+E",
"windows": "Alt+Shift+P",
"mac": "Alt+Shift+P"
}
}
},
toggle-feature-foo
是通用的。您可以将 *manifest.json" 键更改为您想要的。它作为参数传递给您的 chrome.commands.onCommand
侦听器。
在您的后台脚本中,您可以拥有(从同一来源修改):
chrome.commands.onCommand.addListener(function(command) {
console.log('Command:', command);
if(command === 'toggle-feature-foo') {
//Code for toggle-feature-foo
}
});
除非Mac触控板手势也生成键盘按键序列,否则无法轻松捕获此类手势。您也许可以编写一个内容脚本来实现这一点。但是,如果您必须使用内容脚本来执行此操作,那么可能只是为了启用该功能而对每个网页造成重大负担。
哪个 Chrome API 允许我编写一个可以通过非冲突热键激活的扩展(如 Ctrl- Shift-B), 或通过触控板手势(在 Mac 上)?
我正在查看 Chrome extension API and Chromium 文档,但尚未找到任何内容。
可以使用 manifest.json 键 commands
添加键盘快捷键。您可以为一般操作、浏览器操作按钮 (_execute_browser_action
) 或页面操作按钮 (_execute_page_action
) 添加键盘快捷键。
示例 manifest.json Chrome documentation 中包含的内容是(稍作修改以反映您对 Ctrl-Shift-B):
"commands": {
"toggle-feature-foo": {
"suggested_key": {
"default": "Ctrl+Shift+B",
"mac": "Command+Shift+B"
},
"description": "Toggle feature foo"
},
"_execute_browser_action": {
"suggested_key": {
"windows": "Ctrl+Shift+Y",
"mac": "Command+Shift+Y",
"chromeos": "Ctrl+Shift+U",
"linux": "Ctrl+Shift+J"
}
},
"_execute_page_action": {
"suggested_key": {
"default": "Ctrl+Shift+E",
"windows": "Alt+Shift+P",
"mac": "Alt+Shift+P"
}
}
},
toggle-feature-foo
是通用的。您可以将 *manifest.json" 键更改为您想要的。它作为参数传递给您的 chrome.commands.onCommand
侦听器。
在您的后台脚本中,您可以拥有(从同一来源修改):
chrome.commands.onCommand.addListener(function(command) {
console.log('Command:', command);
if(command === 'toggle-feature-foo') {
//Code for toggle-feature-foo
}
});
除非Mac触控板手势也生成键盘按键序列,否则无法轻松捕获此类手势。您也许可以编写一个内容脚本来实现这一点。但是,如果您必须使用内容脚本来执行此操作,那么可能只是为了启用该功能而对每个网页造成重大负担。