2018年9月26日水曜日

現在開いているタブの URL を取得する方法

概要

Firefox の Webextension で現在開いているタブの URL 情報を取得する方法を紹介します

環境

  • macOS 10.13.6
  • Firefox 62.0

manifest.json

  • vim manifest.json
{
  "manifest_version": 2,
  "name": "Tab URL",
  "version": "1.0",
  "description": "Fetching active tab's url",
  "icons": {
    "48": "icons/border-48.png"
  },
  "background": {
    "scripts": ["main.js"]
  },
  "permissions": [
    "tabs"
  ]
}

タブの操作をするので permissionstags を追加します

main.js

  • vim main.js
function getCurrentWindowTabs() {
  return browser.tabs.query({currentWindow: true, active: true});
}

getCurrentWindowTabs().then(tabs => {
  console.log(tabs[0].url);
});

browser.tabs.query でタブを取得します
タブは配列で取得できるので、それの一番始めを参照するとアクティブなタブを取得することができます
あとはタブの url プロパティを参照すれば URL 情報が取得できます

今回のサンプルの場合は extension が読み込まれたときに動作するので about:debugging の URL しか取得できないと思います

クリックイベントなどと合わせてクリック時に取得するようにすれば別ページなどでも動作させることができます

最後に

Firefox の Webextension でアクティブなタブの URL を取得する方法を紹介しました
タブが配列で取得できるので、そこから必要なタブだけを取得するのがポイントになると思います

参考サイト

0 件のコメント:

コメントを投稿