解释目标:我正在尝试创建一个扩展,打开一个新的弹出窗口,在该窗口内我调用一个带有2个参数的函数:来自我所在的URL的一个参数(视图)的来源和值之前。
例如,如果我们点击当前标签位于https://www.base.com/list?view=2abc&tag=new时的扩展程序图标 我想打开一个新窗口,在那个窗口中我将使用2个变量:
originURL = https://www.base.com/
和
view_id = 2abc
所以,我把这个监听器添加到我的background.js
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.windows.create({
url: chrome.runtime.getURL("newpage.html"),
type : "popup",
height: 600,
width:1300
});
});
在我的newpage.html中,我调用一个以此开头的脚本:
chrome.tabs.query({active: true, lastFocusedWindow: true }, function (tabs) {
if (!tabs[0]) { console.log('Could not get current tab'); return; }
let baseurl = new URL(tabs[0].url);
let originURL = baseurl.protocol + '//' + baseurl.hostname;
alert(originURL);
let view_id = baseurl.searchParams.get('view');
alert(view_id);
})
但我总是将网址设为" chrome-extension://...."我假设是我正在进行的扩展。
如何从初始标签中获取网址?也许有比上述代码更简单的方法......
由于