从侧边栏或弹出窗口获取 URL
要从侧边栏或弹出窗口中检索 URL,需要选项卡权限
"permissions": [
"tabs"
]
那么你需要找到你想要的标签。如果您只想要活动选项卡,这可以正常工作,对于更高级的内容,我会在这里查看。
function getPage(){
browser.tabs.query({currentWindow: true, active: true})
.then((tabs) => {
console.log(tabs[0].url);
})
}
从注入的 javascript 中获取 URL
如果您想要后台任务的 URL,我建议您使用此方法,因为您不需要权限。
这将为您提供一个后台脚本,然后将脚本注入互联网上的几乎所有网页。
"background": {
"scripts": ["background.js"]
},
"content_scripts": [
{
"matches": ["https://www.*"],
"js": ["modify-page/URL.js"]
}
],
这将通过 URL js 注入到网页中,并向您的后台 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);