2020年6月22日月曜日

Firefox WebExtension マウスのクリックイベントを特定のタグにだけ発生される方法

概要

querySelectAll を使うとページ内の特定のタグをすべて取得できます
取得したタグに対して addEventListener してあげます

環境

  • Firefox 77.0.1

サンプルコード

querySelectorAll で取得したタグは forEach で回せます
あとはそれぞれに対してイベントリスナーを追加すれば OK です

function clickedLeft(e) {
  if ('object' == typeof e){
    btnCode = e.button;
    switch (btnCode){
      case 0:
        alert('Left button clicked');
        break;
    }
  }
}

document.querySelectorAll("a").forEach(function(a) {
  a.addEventListener("mousedown", clickedLeft);
})

ちなみにどのタグでもいい場合は document.addEventListener("mousedown", func); で OK です

manifest.js

content_scripts にすることを忘れないようにしましょう

{
  "manifest_version": 2,
  "name": "test",
  "version": "1.0.0",
  "description": "test",
  "content_scripts": [
    {
      "matches": ["http://*/*", "https://*/*"],
      "js": ["main.js"]
    }
  ],
  "applications": {
    "gecko": {
      "id": "test@hawksnowlog.blogspot.com"
    }
  }
}

0 件のコメント:

コメントを投稿