Chrome拡張でURLを取得する
TL;DR
chrome.tabs.query({ active: true, currentWindow: true }, (e) => {
const url = e[0].url;
console.log(url);
});
location.hrefじゃだめなのか
background pageやpopup 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
Author And Source
この問題について(Chrome拡張でURLを取得する), 我々は、より多くの情報をここで見つけました https://qiita.com/Michinosuke/items/710cc6a1e386109ee070著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .