1. ホーム
  2. google-chrome

[解決済み】Google Chromeの拡張機能から現在のタブのURLを取得するにはどうすればいいですか?

2022-04-06 10:53:44

質問

Google Chromeの拡張機能で楽しんでいるのですが、ちょっと知りたいのは、現在のタブのURLを変数に格納するにはどうしたらいいのでしょうか?

どのように解決するのですか?

使用方法 chrome.tabs.query() このように

chrome.tabs.query({active: true, lastFocusedWindow: true}, tabs => {
    let url = tabs[0].url;
    // use `url` here inside the callback because it's asynchronous!
});

これには、アクセス権を要求する必要があります。 chrome.tabs のAPIを使用します。 拡張マニフェスト :

"permissions": [ ...
   "tabs"
]

ここで重要なのは、拡張機能のニーズによって "現在のタブ" の定義が異なる可能性があることです。

設定方法 lastFocusedWindow: true は、ユーザーがフォーカスしているウィンドウ(通常は一番上のウィンドウ)の現在のタブにアクセスしたい場合に適しています。

設定方法 currentWindow: true を使用すると、拡張モジュールのコードが現在実行されているウィンドウの現在のタブを取得することができます。例えば、拡張機能が新しいウィンドウやポップアップを作成する (フォーカスを変える) 場合に、拡張機能が実行されているウィンドウのタブ情報にアクセスしたい場合に便利でしょう。

を使うことにしました。 lastFocusedWindow: true この例では、Google が currentWindow は常に存在するとは限りません。 .

ここで定義されたプロパティを使用して、タブクエリをさらに絞り込むことは自由です。 クローム.タブ.クエリ