扩展 - 包含先前打开的标签

时间:2017-12-09 11:36:46

标签: javascript google-chrome-extension

解释目标:我正在尝试创建一个扩展,打开一个新的弹出窗口,在该窗口内我调用一个带有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://...."我假设是我正在进行的扩展。

如何从初始标签中获取网址?也许有比上述代码更简单的方法......

由于

0 个答案:

没有答案