在新选项卡中使用activeTab变量

时间:2018-06-12 14:33:43

标签: javascript html tabs firefox-webextensions

我正在开发一个网络扩展,我需要一些帮助。

我一直在使用activeTab中的变量作为数据创建一个弹出窗口,以填充应该在弹出窗口中打开的预先存在的html文件。

最初我想如果我在单独的JS文件中做了类似的事情

function gethtml() {
  var something = document.querySelector('something').innerHTML;
  var anything = document.getElementsByTagName('something');
  var anythingArray = Array.from(anything);
  var obj = {
    from: from,
    array: anythingArray
  }
  return obj;
}

然后使用类似的东西调用它

function blah() {
  getCurrentTab().then((tabs) => {
    browser.tabs.executeScript(tabs[0].id, {
      file: '/content_scripts/seperate.js'
    }, function(data) {
      // do something with returned obj like passing the variables to another JS file using the listener event;
    });
  });
}

运行在当前正在运行的click事件上,然后我可以使用返回的obj并在弹出窗口中预填充现有的html文件。但是数据永远不会返回,我尝试用它做的任何事都只会导致接收null或undefined。

是否有一些我正在尝试做的例子,或者我是否以正确的方式解决这个问题?

我考虑过使用webStorage,但是当我尝试使用时,所讨论的数组只是HTMLCollection而不是实际内容,我仍然无法从第二个JS文件访问它。

任何帮助都会非常有用!

0 个答案:

没有答案