firefox扩展 - 检测是否按下按钮

时间:2017-02-02 14:58:27

标签: javascript firefox firefox-addon shift

我正在尝试编写一个具有两个功能的浏览器插件。我不需要任何输入,我只需要调用一个函数。

我的想法是,当按下插件图标时,可以通过按 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>

我不是以英语为母语的人,如果我犯了语法/拼写错误,请纠正我

1 个答案:

答案 0 :(得分:-1)

尝试使用此代码:

var keys = [];
document.onkeydown = function(e){keys[e.keyCode]=true;};
document.onkeyup = function(e){keys[e.keyCode]=false;};

...在你的扩展程序中。只要您的扩展程序在每个新页面上运行,就立即部署它。 在if语句中,您可以if(keys[16])使用shiftif(keys[17])使用ctrl