chrome扩展开发 commands 快捷键配置

概念和用法

        借助 Commands API,扩展程序开发者可以定义特定命令,并将其绑定到默认组合键。扩展程序接受的每个命令都必须在扩展程序的清单中声明为 "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

        可选属性,用于声明命令的默认键盘快捷键。如果省略,该命令将解除绑定。此属性可以接受字符串或对象值。

  • 字符串值:用于指定应在所有平台中使用的默认键盘快捷键。

  • 借助对象值,扩展程序开发者可以为每个平台自定义键盘快捷键。提供平台专用快捷方式时,有效的对象属性包括 defaultchromeoslinuxmac 和 windows

如需了解更多详情,请参阅组合键要求

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,
)

 注意

ChromeOS 不支持全局快捷键设置。

        全局命令需要在manifest.json 配置上 "global":true,同时键盘快捷键建议仅限 Ctrl+Shift+[0..9]。这是一种保护措施,可最大限度地降低覆盖其他应用中快捷键的风险,因为例如,如果允许将 Alt+P 设为全局快捷键,那么用于打开打印对话框的键盘快捷键可能无法在其他应用中正常使用。

最终用户可以使用 chrome://extensions/shortcuts 提供的界面,随意将全局命令重新映射到其首选组合键。

{
  "name": "My extension",
  ...
  "commands": {
    "toggle-feature-foo": {
      "suggested_key": {
        "default": "Ctrl+Shift+5"
      },
      "description": "Toggle feature foo",
      "global": true
    }
  },
  ...
}

多个扩展程序快捷键冲突问题

        如果某个扩展程序尝试注册的快捷方式已被其他扩展程序使用,则第二个扩展程序的快捷方式将无法按预期注册。您可以通过预测这种可能性并在安装时检查是否发生碰撞来提供更强大的最终用户体验。

 最大数量限制

        一个扩展程序可以有多个命令,但最多可指定 4 个建议的键盘快捷键。用户可以通过 chrome://extensions/shortcuts 对话框手动添加更多快捷方式。

参考文档 

        以下是关于chrome扩展程序开发的API参考文档,希望对你有所帮助

https://developer.chrome.com/docs/extensions/reference/api

chrome.* APIs - chrome插件中文开发文档(非官方)

最后来个美女结尾吧。 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值