我正在尝试编写一个具有两个功能的浏览器插件。我不需要任何输入,我只需要调用一个函数。
我的想法是,可以通过在按下插件图标时按住 shift 或不按住来访问该功能。 (ctrl 也可以完成这项工作)
问题是,firefox 没有给我一个事件,所以我不能使用 event.shiftKey
. firefox 唯一给我的是当前选项卡,它不包含该信息。这是我到目前为止得到的:
// manifest.json
{
"manifest_version": 2,
"name": "Link List",
"version": "1.0",
"background": {
"scripts": [ "background.js" ]
}
"browser_action": {
}
}
// background.js
function openPage(tab) {
if(<shift pressed>) {
funcA();
} else {
funcB();
}
}
browser.browserAction.onClicked.addListener(openPage)
有什么想法,我可以写进<shift pressed>
?
我不是母语人士,如果我有语法/拼写错误请指正
最佳答案
尝试使用这段代码:
var keys = [];
document.onkeydown = function(e){keys[e.keyCode]=true;};
document.onkeyup = function(e){keys[e.keyCode]=false;};
...在您的分机中。一旦您的扩展程序在每个新页面上运行,就立即部署它。
在您的 if 语句中,您可以将 if(keys[16])
用于 shift
,或将 if(keys[17])
用于 ctrl
.
关于javascript - firefox 扩展 - 检测按钮是否按下 shift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42005458/