8
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Chrome拡張でURLを取得する

Last updated at Posted at 2020-08-27

TL;DR

chrome.tabs.query({ active: true, currentWindow: true }, (e) => {
      const url = e[0].url;
      console.log(url);
    });

location.hrefじゃだめなのか

background pagepopup viewは通常のタブとは違うコンテキストで動作しているので、location.hrefでは取得できません。location.hrefで取得できるのは、chrome-extension://から始まるURLのみです。

また、chrome.tabs.getCurrent(function callback)で取得できそうな気もしますが、無理です。なぜなら対象とするtabが特定できないからです。

なので、chrome.tabs.query(object queryInfo, function callback)の第一引数でタブを特定し、コールバック関数でtabの情報を取得します。なお、この関数では第一引数に当てはまった全てのタブをコールバック関数に渡してくれるので、e[0]としています。

他にも多くのオプションがあるので、詳しくは公式のレファレンスを参照してください。
https://developer.chrome.com/extensions/tabs#method-query

8
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?