browser.tabs.getCurrent()
を使用すると、ユーザーが現在見ているタブを表すオブジェクトを取得できます。このオブジェクトにはurl
というプロパティがあり、これを使用してXMLHttpRequestを作成できます。
browser.tabs.getCurrent().then(currentTab => {
let xhr = new XMLHttpRequest();
xhr.open("GET", currentTab.url);
// ...
});
編集:
Makyenで指摘したように、tabs.currentTab
はあなたが望むものを実際にはありません。代わりにtabs.query
とactive: true
を使用する必要があります。そのような何か作業をする必要があります:あなたはへのHTTPリクエストを行うことができます例えば
{
...
"permissions": [
"tabs",
"<all_urls>"
],
...
}
<all_urls>
:
はクロスオリジン・リクエストを作るために
browser.tabs.query({active: true, currentWindow: true}).then(tabs => {
let currentTab = tabs[0];
let xhr = new XMLHttpRequest();
xhr.open("GET", currentTab.url);
// ...
})
、あなたはmanifest.json
ファイルに許可を取得する必要があります任意のURL。
hereを読むことができます。
トピックになる質問を編集してください:問題を複製する[mcve]を含めてください。 Chrome拡張機能やFirefox WebExtensionsの場合は、* manifest.json *や背景/コンテンツ/ポップアップスクリプト/ HTMLの一部を含むことがほとんどです。 (1)望ましい動作、(2)特定の問題またはエラー、および(3)それを再現するために必要な最短のコードを含める必要があります。質問自体に*。また、[ここで私はどのような話題を聞くことができますか?](http://stackoverflow.com/help/on-topic)、[ask]を参照してください。 – Makyen