如何通过键盘快捷键触发 Chrome 扩展?

问题描述 投票:0回答:2

我编写了一个简短的 Chrome 扩展,当我在扩展列表中单击它时,它可以按预期工作。

即。我的代码运行

onClicked
(
chrome.action.onClicked.addListener(...)
)

我想添加键盘快捷键(例如 Ctrl+Shift+Q),但不知道如何添加。

有什么想法吗?

对于上下文:我真的不了解 javascript,我正在将其作为我自己日常工作的帮手。

google-chrome-extension
2个回答
4
投票

您可以使用命令。

第一步是将命令添加到manifest.json 文件中。我在下面添加了一个示例,它应该看起来与您的非常相似,但您真正需要的部分是“commands”:{}部分。这告诉 chrome 当用户点击“Ctrl+Shift+Q”时要注意。请注意,您可以添加多个命令,如下例所示。

{
  "name": "Getting Started Example",
  "description": "Build an Extension!",
  "version": "1.0",
  "manifest_version": 3,
  "background": {
    "service_worker": "background.js"
  },

  "devtools_page": "devtools.html",

  "commands": {
    "name-of-command-passed-into-function": {
      "suggested_key": "Ctrl+Shift+Q",
      "description": "do somthing"
    }
    "shortcut2": {
      "suggested_key": "Ctrl+Shift+A",
      "description": "do somthing else"
    }
  },
  "options_page": "options.html",
  "permissions": ["storage", "activeTab", "scripting","tabs"],
}

现在,当用户点击“Ctrl+Shift+Q”或“Ctrl+Shift+A”时,chrome 将寻找一些非常具体的代码来运行:

chrome.commands.onCommand.addListener((command,tab) => {
     //do stuff here
});

添加此代码并将此处的 //do stuff 更改为您要运行的代码。命令属性只是一个与清单中的类型相匹配的字符串,“传递到函数中的命令名称”或“shortcut2”。这是您如何判断用户输入了哪个命令快捷方式的方法,但如果您只需要一个,请从清单文件中删除第二个。


0
投票

插件启动时效果很好,但是还有一种方法可以通过这样的键盘点击来触发插件的启动吗? 我有一位客户在“信息亭模式”下运行 Google Chrome,因此看不到任何加载的插件。这个想法是允许使用键盘单击来启动插件。

© www.soinside.com 2019 - 2024. All rights reserved.