如何从我调用扩展名的选项卡中轻松提取原点和特定参数?
如果当前网址为:
https://base.com/etc/etc?param1=123
我想得到两个变量 origin =" https://base.com" 和 param1 =" 123"
理想情况下,如果有更多参数,这仍应有效,即 如果当前的URL是 https://base.com/etc/etc?param1=123¶m2=234
我还是会得到的 origin =" https://base.com" 和 param1 =" 123"
我明白我可以使用像
这样的东西chrome.tabs.query({'active': true, 'lastFocusedWindow': true}, function (tabs) {
但我正在学习Javascript懒散。这个函数怎么样?
答案 0 :(得分:1)
The documentation for chrome.tabs.query表示在回调function (tabs)
中,您将获得一个Tab
数组。 Tab
有很多属性,其中一个是url
。所以你可以这样做:
// Get the current active tab in the last focused Chrome window (before the popup showed)
// should return only ONE tab
chrome.tabs.query({ active: true, lastFocusedWindow: true }, function (tabs) {
if (!tabs[0]) { console.log('Could not get current tab'); return; }
// Now extract the information from the URL
let url = new URL(tabs[0].url);
let base = url.protocol + '//' + url.hostname;
let param1 = url.searchParams.get('param1');
console.log(base);
console.log(param1);
})