サイドバーまたはポップアップから URL を取得する
サイドバーまたはポップアップから URL を取得するには、タブ権限が必要です
"permissions": [
"tabs"
]
次に、必要なタブを見つける必要があります。アクティブなタブだけが必要な場合は、これで問題なく動作します。より高度なものについては、こちらを参照してください。
function getPage(){
browser.tabs.query({currentWindow: true, active: true})
.then((tabs) => {
console.log(tabs[0].url);
})
}
注入された JavaScript から URL を取得する
バックグラウンド タスクの URL が必要な場合は、アクセス許可が不要なため、この方法をお勧めします。
これにより、バックグラウンド スクリプトが提供され、インターネット上のほぼすべての Web ページにスクリプトが挿入されます。
"background": {
"scripts": ["background.js"]
},
"content_scripts": [
{
"matches": ["https://www.*"],
"js": ["modify-page/URL.js"]
}
],
これは、URL js を介して Web ページに挿入され、使用するバックグラウンド js にメッセージを送信します。
var service= browser.runtime.connect({name:"port-from-cs"});
service.postMessage({location: document.URL});
このコードはバックグラウンド js にあり、変更されるたびに新しいページの URL を収集します。
var portFromCS;
function connected(p) {
portFromCS = p;
portFromCS.onMessage.addListener(function(m) {
if(m.location !== undefined){
console.log(m.location);
}
});
}
browser.runtime.onConnect.addListener(connected);