什么是 GM_registerMenuCommand() 的 `accessKey` 参数以及如何使用它?

pet*_*tko 3 javascript greasemonkey userscripts tampermonkey

我正在查看Tampermonkey中的GM_registerMenuCommand函数,我注意到调用了第三个参数,accessKey并认为它是传递一个热键来触发此命令。

传递的参数的格式是什么,我是否错误地假设这是它的作用?

我在任何地方都找不到有关该参数的文档。这里有人以前用过吗?

Bro*_*ams 6

函数语法是

GM_registerMenuCommand (menuName, callbackFunction, accessKey)

来自菜单设计指南(第 8 条)

下拉菜单(菜单和框)不仅应该支持鼠标输入,还应该支持按键。在下拉菜单中,访问键应该使用户能够在不使用鼠标的情况下快速选择可见选项。在下拉框中,用户应该能够输入一个字母并快速导航到以该字母开头的选项。

(加了重点。)

重要提示:访问键不同于任何命令快捷键(“热键”),并且除此之外


这是一个示例工作 Tampermonkey 脚本,说明了用法:

// ==UserScript==
// @name     _GM_registerMenuCommand demo
// @match    /sf/ask/3921724061/*
// @match    *://YOUR_SERVER.COM/YOUR_PATH/*
// @grant    GM_registerMenuCommand
// ==/UserScript==

/*-- GM_registerMenuCommand (menuName, callbackFunction, accessKey)
*/
GM_registerMenuCommand ("Say Hello", helloFunc, "H");

function helloFunc () {
    console.log ("Say hello to my little script.");
}
Run Code Online (Sandbox Code Playgroud)

如果您通过 Tampermonkey 安装并运行它,您将看到(单击以获得更大的图像):

Tampermonkey 截图


笔记:

  1. Violentmonkey 暂时忽略该accessKey参数。
  2. Greasemonkey 4+ 已经取消了这个功能。? 按照惯例
  3. 您可以设置键盘命令来激活Chrome 中的 Tampermonkey 图标/菜单
  4. 键盘图标激活目前在 Firefox 中似乎不起作用,但为 Firefox 版本 67 安排了解决方法