在Chrome.tabs.executeScript中获取多个值

时间:2016-10-01 12:51:02

标签: google-chrome google-chrome-extension

如何从Chrome插件,tabs.executeScript返回多个元素的值。

请在下面的代码中提出建议。

 chrome.tabs.executeScript(
      targetTab.id,
      {
          code: "var header = {'top':document.getElementsByClassName('top-card')[0].innerHTML;}"
      },
      function (sourceCode)
      {
          myCode = sourceCode;
          chrome.tabs.create({'url': chrome.extension.getURL('popup.html')});
      }
    );

就像在这里一样,我获得了“顶级名片”的价值,我也希望“足球”的价值,“内容”更多的等级。

1 个答案:

答案 0 :(得分:0)

chrome.tabs.executeScript可以传输任何可以使用JSON的数据,包括简单的对象/数组。

chrome.tabs.executeScript(targetTab.id, {
    code: '(' + function() {
        return {
            top: document.querySelector('.top-card').innerHTML,
            footer: document.querySelector('.footer').innerHTML,
            content: document.querySelector('.content').innerHTML,
        };
    } + ')()'
}, function(data) {
    var myCode = data[0]; // data is an array, item 0 is the main page, 1.. for frames
    console.log(myCode.top, myCode.footer);
});