Firefox(57.0.1)是否支持在webextension中通过javascript设置命令快捷键?

Firefox(57.0.1)是否支持在webextension中通过javascript设置命令快捷键?,javascript,firefox,keyboard-shortcuts,firefox-addon-webextensions,Javascript,Firefox,Keyboard Shortcuts,Firefox Addon Webextensions,我在最近的webextension格式中创建了一个小扩展,它有两个命令,定义如下: "commands": { "mycommand1": { "suggested_key": { "default": "Ctrl+Shift+K", "mac": "MacCtrl+Shift+K", "linux": "Ctrl+Shift+K", "windows":"Ctrl+Shift+K" },

我在最近的webextension格式中创建了一个小扩展,它有两个命令,定义如下:

  "commands": {
    "mycommand1": {
      "suggested_key": {
        "default": "Ctrl+Shift+K",
        "mac": "MacCtrl+Shift+K",
        "linux": "Ctrl+Shift+K",
        "windows":"Ctrl+Shift+K"
      },
      "description": "do something 1"
    }
现在,我想让用户能够自定义这些键盘快捷键,但是当我这样做时:

var getCommands = browser.commands.getAll();
getCommands.then(setCommandsSettings);

function setCommandsSettings(commands){
    commands.forEach(function(command) {
        if(command.name=="mycommand1"){
          command.shortcut="MacCtrl+Shift+L";
        }
      });
}

如果我检查command.shortcut属性,我会看到它已被更改为新值,但是,只有按旧的快捷键,命令才会参与。我做错什么了吗?FF在运行时更改快捷方式是否支持此功能?

不幸的是,它似乎还不受支持(从Firefox 57.0.1开始),但是存在一个漏洞,允许使用此功能的增强功能:

似乎不支持:(看起来它只会从清单中提取。这很有意义,所以你不能劫持某人的键盘?不确定。可能是,但用户自定义键盘快捷键听起来也是一个大而合法的用例。似乎对未来有一定程度的希望: