在Kiosk模式下使用Chrome命令API

3

我正在编写一个Kiosk Mode Chrome应用程序,可以响应键盘快捷方式。我发现使用Chrome commands API是最好的方法。

manifest.json

  {...,
    "kiosk_enabled": true,
    "kiosk_only": false,
    "commands": {
      "perform-foo": {
        "description": "Performs the Foo action",
        "suggested_key": {
          "default": "Ctrl+Shift+0"
        },
        "global": true
      }
    },
  ...}

根据文档,我认为不需要特殊权限。我确保按照文档使用“安全”的键盘组合,并假设我会指定global

main.js

chrome.commands.onCommand.addListener(function(command) {
  if (command == 'perform-foo') {
    doFooFunction();
  }
}

这个扩展在我的 Mac 上作为未打包的扩展程序可以使用,但是在 ChromeOS 的单应用程序 kiosk 模式或普通 kiosk 模式下启动时无法使用。我还编写了一个测试应用,但在 kiosk 模式下无法操作。当我在 chrome://extensions 中查看键盘快捷键时,该应用程序似乎已经成功地全局安装了正确的键组合。
通过 commands API 的键盘快捷键是否启用于 kiosk 模式或 CrOS?我错过了什么吗?
1个回答

1

来自文档:

在桌面版Chrome中,从版本35开始,命令可以具有全局范围,并且在Chrome没有焦点时也可以使用。注意:这里的例外是Chrome OS,目前不允许使用全局命令。

我已成功在ChromeOS的kiosk模式下使用命令,无需全局选项。

"commands": {
  "perform-foo": {
    "description": "Performs the Foo action",
    "suggested_key": {
      "default": "Ctrl+Shift+0"
    }
  }
},

嘿,谢谢!我应该更仔细地阅读文档。Chrome应用程序中有多少异常真是令人惊讶。 - user1748315

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接