我正在尝试编写一个具有两个功能的浏览器插件。我不需要任何输入,我只需要调用一个函数。
我的想法是,当按下插件图标时,可以通过按 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>
?
我不是以英语为母语的人,如果我犯了语法/拼写错误,请纠正我
答案 0 :(得分:-1)
尝试使用此代码:
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
。